From a634acadbcf6017474f68a3eaf7cb632660e9e49 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Wed, 24 Oct 2007 22:26:57 +0000 Subject: [PATCH] We now have a current svn snapshot of libqxt in our contrib dir, and a modified build system that uses this version instead of our (rather old) partial snapshot. Keeping in sync with upstream should now be much easier. --- build/contrib/contrib.pri | 8 + build/contrib/libqxt-config.pri | 11 + build/contrib/libqxt-version.pri | 3 + build/contrib/libqxt.pro | 6 + build/modules/module.pri | 4 + build/quassel.pro | 6 +- build/targets/target.pri | 3 + src/client/client.pri | 2 +- src/common/common.pri | 3 +- src/common/signalproxy.cpp | 2 + src/common/signalproxy.h | 3 +- src/contrib/libqxt-2007-10-24/.qmake.cache | 56 + src/contrib/libqxt-2007-10-24/AUTHORS | 7 + src/contrib/libqxt-2007-10-24/Doqsyfile | 31 + .../{qxt => libqxt-2007-10-24}/LICENSE | 25 +- src/contrib/libqxt-2007-10-24/README | 1 + src/contrib/libqxt-2007-10-24/config.pri | 11 + .../config.tests/curses/curses.pro | 9 + .../config.tests/curses/main.cpp | 14 + .../config.tests/fcgi/fcgi.pro | 8 + .../config.tests/fcgi/main.cpp | 12 + .../config.tests/ffmpeg/ffmpeg.pro | 9 + .../config.tests/ffmpeg/main.cpp | 26 + .../config.tests/openssl/main.cpp | 15 + .../config.tests/openssl/openssl.pro | 9 + .../config.tests/qt4/main.cpp | 15 + .../config.tests/qt4/qt4.pro | 8 + .../config.tests/sdl/main.cpp | 10 + .../config.tests/sdl/sdl.pro | 8 + src/contrib/libqxt-2007-10-24/configure | 162 + src/contrib/libqxt-2007-10-24/configure.bat | 253 + src/contrib/libqxt-2007-10-24/cpl1.0.txt | 213 + .../deploy/include/QxtCore/QxtCore | 16 + .../deploy/include/QxtCore/QxtError | 2 + .../deploy/include/QxtCore/QxtFifo | 2 + .../deploy/include/QxtCore/QxtFileLock | 2 + .../deploy/include/QxtCore/QxtFuture | 2 + .../deploy/include/QxtCore/QxtHyperMacros | 2 + .../deploy/include/QxtCore/QxtJob | 2 + .../deploy/include/QxtCore/QxtMetaObject | 2 + .../deploy/include/QxtCore/QxtNull | 2 + .../deploy/include/QxtCore/QxtNullable | 2 + .../deploy/include/QxtCore/QxtPimpl | 2 + .../deploy/include/QxtCore/QxtPipe | 2 + .../deploy/include/QxtCore/QxtSemaphore | 2 + .../deploy/include/QxtCore/QxtSignalWaiter | 2 + .../deploy/include/QxtCore/QxtSlotJob | 2 + .../include/QxtCore/QxtStdStreambufDevice | 2 + .../deploy/include/QxtCore/QxtStdio | 2 + .../deploy/include/QxtCore/QxtTuple | 2 + .../deploy/include/QxtCrypto/QxtBlowFish | 2 + .../deploy/include/QxtCrypto/QxtCrypto | 2 + .../deploy/include/QxtCrypto/QxtHash | 2 + .../deploy/include/QxtCurses/QxtCurses | 1 + .../deploy/include/QxtGui/QxtApplication | 2 + .../deploy/include/QxtGui/QxtCheckComboBox | 2 + .../deploy/include/QxtGui/QxtConfigDialog | 2 + .../include/QxtGui/QxtConfirmationMessage | 2 + .../deploy/include/QxtGui/QxtDesktopWidget | 2 + .../deploy/include/QxtGui/QxtDockWidget | 1 + .../deploy/include/QxtGui/QxtGroupBox | 1 + .../deploy/include/QxtGui/QxtGui | 3 + .../deploy/include/QxtGui/QxtHeaderView | 2 + .../deploy/include/QxtGui/QxtItemDelegate | 2 + .../deploy/include/QxtGui/QxtLabel | 2 + .../deploy/include/QxtGui/QxtListWidget | 2 + .../deploy/include/QxtGui/QxtListWidgetItem | 2 + .../include/QxtGui/QxtNativeEventFilter | 2 + .../deploy/include/QxtGui/QxtProgressLabel | 1 + .../deploy/include/QxtGui/QxtProxyStyle | 2 + .../deploy/include/QxtGui/QxtPushButton | 2 + .../deploy/include/QxtGui/QxtSpanSlider | 2 + .../deploy/include/QxtGui/QxtStars | 1 + .../deploy/include/QxtGui/QxtStringSpinBox | 2 + .../deploy/include/QxtGui/QxtStringValidator | 1 + .../deploy/include/QxtGui/QxtTabWidget | 2 + .../deploy/include/QxtGui/QxtTableWidget | 2 + .../deploy/include/QxtGui/QxtTableWidgetItem | 2 + .../deploy/include/QxtGui/QxtToolTip | 1 + .../deploy/include/QxtGui/QxtTreeWidget | 2 + .../deploy/include/QxtGui/QxtTreeWidgetItem | 2 + .../deploy/include/QxtKit/QxtCsvModel | 2 + .../deploy/include/QxtKit/QxtEventThread | 2 + .../deploy/include/QxtKit/QxtKit | 7 + .../deploy/include/QxtKit/QxtPairList | 2 + .../deploy/include/QxtKit/QxtSignalWaiter | 2 + .../deploy/include/QxtKit/QxtTrippleList | 2 + .../deploy/include/QxtMedia/QxtAVFile | 2 + .../deploy/include/QxtMedia/QxtAVPlayer | 2 + .../deploy/include/QxtMedia/QxtMedia | 4 + .../deploy/include/QxtMedia/QxtRingBuffer | 2 + .../deploy/include/QxtMedia/QxtSdlWidget | 2 + .../deploy/include/QxtNetwork/QxtBlowFish | 2 + .../deploy/include/QxtNetwork/QxtNamedPipe | 2 + .../deploy/include/QxtNetwork/QxtNetwork | 2 + .../deploy/include/QxtNetwork/QxtRPCPeer | 2 + .../deploy/include/QxtSql/QxtSql | 2 + .../deploy/include/QxtSql/QxtSqlPackage | 2 + .../deploy/include/QxtSql/QxtSqlPackageModel | 2 + .../deploy/include/QxtWeb/QxtFcgiConnector | 2 + .../deploy/include/QxtWeb/QxtHtmlTemplate | 2 + .../deploy/include/QxtWeb/QxtScgiConnector | 1 + .../deploy/include/QxtWeb/QxtWeb | 7 + .../deploy/include/QxtWeb/QxtWebController | 2 + .../deploy/include/QxtWeb/QxtWebCore | 2 + .../libqxt-2007-10-24/deploy/qt/mox.prf | 21 + .../libqxt-2007-10-24/deploy/qt/qxt.prf.m | 105 + .../doctemplate/class-enum.html | 114 + .../doctemplate/class-impl.html | 6 + .../doctemplate/class-members-unroll.html | 2 + .../doctemplate/class-members.html | 5 + .../doctemplate/class-property.html | 114 + .../doctemplate/class-section-unroll.html | 1 + .../doctemplate/class-section.html | 8 + .../doctemplate/class-unroll-inherits.html | 2 + .../libqxt-2007-10-24/doctemplate/class.html | 31 + .../doctemplate/classes-unroll.html | 1 + .../doctemplate/classes.html | 13 + .../libqxt-2007-10-24/doctemplate/classic.css | 181 + .../libqxt-2007-10-24/doctemplate/index.html | 11 + .../libqxt-2007-10-24/doctemplate/logo.png | Bin 0 -> 96907 bytes .../libqxt-2007-10-24/doctemplate/module.html | 21 + .../doctemplate/modules-unroll.html | 1 + .../doctemplate/modules.html | 27 + .../libqxt-2007-10-24/doctemplate/qt.tag | 85448 ++++++++++++++++ .../doctemplate/qxtcheckcombobox.png | Bin 0 -> 5058 bytes .../doctemplate/qxtconfigdialog.png | Bin 0 -> 45383 bytes .../doctemplate/qxtconfirmationmessage.png | Bin 0 -> 8644 bytes .../doctemplate/qxtgroupbox.png | Bin 0 -> 4710 bytes .../doctemplate/qxtheaderview.png | Bin 0 -> 2648 bytes .../doctemplate/qxtlabel.png | Bin 0 -> 5241 bytes .../doctemplate/qxtlistwidget.png | Bin 0 -> 7667 bytes .../doctemplate/qxtprogresslabel.png | Bin 0 -> 3621 bytes .../doctemplate/qxtpushbutton.png | Bin 0 -> 10700 bytes .../doctemplate/qxtspanslider.png | Bin 0 -> 3117 bytes .../doctemplate/qxtstars.png | Bin 0 -> 3520 bytes .../doctemplate/qxtstringspinbox.png | Bin 0 -> 3159 bytes .../doctemplate/qxttablewidget.png | Bin 0 -> 6960 bytes .../doctemplate/qxttabwidget.png | Bin 0 -> 6461 bytes .../doctemplate/qxttooltip.png | Bin 0 -> 81342 bytes .../doctemplate/qxttreewidget.png | Bin 0 -> 10077 bytes .../libqxt-2007-10-24/doctemplate/site.html | 50 + .../doctemplate/stylesheet.css | 41 + .../examples/rpcpeer/main.cpp | 37 + .../examples/rpcpeer/rpcpeer.pro | 7 + .../extras/GPL_Exception1.0.txt | 79 + .../libqxt-2007-10-24/extras/artwork/logo.png | Bin 0 -> 96907 bytes .../extras/artwork/logo.png.svg | 287 + .../extras/syntax_highlighting/kate/cpp.xml | 285 + .../features/macx/qxtbuild.prf | 13 + .../libqxt-2007-10-24/features/qxtbuild.prf | 14 + .../features/unix/bootstrap.prf | 42 + .../features/unix/qxtbuild.prf | 7 + .../features/win32/qxtbuild.prf | 9 + src/contrib/libqxt-2007-10-24/libqxt.pro | 73 + .../libqxt-2007-10-24/src/core/core.pro | 61 + .../src/core/qxtboundcfunction.h | 514 + .../src/core/qxtboundfunction.h | 258 + .../src/core}/qxtboundfunctionbase.h | 7 + .../src/core/qxtcsvmodel.cpp | 375 + .../libqxt-2007-10-24/src/core/qxtcsvmodel.h | 75 + .../libqxt-2007-10-24/src/core/qxterror.cpp | 64 + .../libqxt-2007-10-24/src/core/qxterror.h | 124 + .../libqxt-2007-10-24/src/core/qxtfifo.cpp | 93 + .../libqxt-2007-10-24/src/core/qxtfifo.h | 49 + .../src/core/qxtfilelock.cpp | 153 + .../libqxt-2007-10-24/src/core/qxtfilelock.h | 67 + .../src/core/qxtfilelock_p.h | 48 + .../src/core/qxtfilelock_unix.cpp | 263 + .../src/core/qxtfilelock_win.cpp | 88 + .../src/core}/qxtglobal.h | 23 +- .../src/core/qxthypermacros.h | 117 + .../libqxt-2007-10-24/src/core/qxtjob.cpp | 118 + .../libqxt-2007-10-24/src/core/qxtjob.h | 56 + .../libqxt-2007-10-24/src/core/qxtjob_p.h | 70 + .../src/core}/qxtmetaobject.cpp | 64 +- .../src/core/qxtmetaobject.h | 86 + .../libqxt-2007-10-24/src/core/qxtmetatype.h | 112 + .../libqxt-2007-10-24/src/core/qxtnamespace.h | 121 + .../src/core}/qxtnull.cpp | 0 .../src/core}/qxtnull.h | 2 +- .../src/core}/qxtnullable.h | 4 +- .../libqxt-2007-10-24/src/core/qxtpairList.h | 169 + .../src/core}/qxtpimpl.h | 2 +- .../libqxt-2007-10-24/src/core/qxtpipe.cpp | 226 + .../libqxt-2007-10-24/src/core/qxtpipe.h | 61 + .../src/core/qxtsemaphore.cpp | 136 + .../libqxt-2007-10-24/src/core/qxtsemaphore.h | 43 + .../src/core/qxtsignalwaiter.cpp | 77 + .../src/core/qxtsignalwaiter.h | 86 + .../libqxt-2007-10-24/src/core/qxtslotjob.cpp | 187 + .../libqxt-2007-10-24/src/core/qxtslotjob.h | 108 + .../libqxt-2007-10-24/src/core/qxtslotjob_p.h | 37 + .../libqxt-2007-10-24/src/core/qxtstdio.cpp | 100 + .../libqxt-2007-10-24/src/core/qxtstdio.h | 48 + .../src/core/qxtstdstreambufdevice.cpp | 76 + .../src/core/qxtstdstreambufdevice.h | 52 + .../libqxt-2007-10-24/src/core/qxttuple.h | 441 + .../libqxt-2007-10-24/src/core/qxttuplelist.h | 51 + .../libqxt-2007-10-24/src/core/qxttypelist.h | 127 + .../libqxt-2007-10-24/src/crypto/crypto.pro | 30 + .../src/crypto/qxtblowfish.cpp | 138 + .../src/crypto/qxtblowfish.h | 52 + .../libqxt-2007-10-24/src/crypto/qxthash.cpp | 128 + .../libqxt-2007-10-24/src/crypto/qxthash.h | 53 + .../libqxt-2007-10-24/src/crypto/qxthash_p.h | 12 + .../src/crypto/thirdparty/md4.cpp | 261 + .../src/crypto/thirdparty/md4.h | 28 + .../src/crypto/thirdparty/md5.cpp | 238 + .../src/crypto/thirdparty/md5.h | 43 + .../src/designer/designer.pro | 59 + .../src/designer/qxtcheckcomboboxplugin.cpp | 49 + .../src/designer/qxtcheckcomboboxplugin.h | 41 + .../src/designer/qxtdesignerplugin.cpp | 73 + .../src/designer/qxtdesignerplugin.h | 51 + .../src/designer/qxtdesignerplugins.cpp | 55 + .../src/designer/qxtdesignerplugins.h | 39 + .../src/designer/qxtgroupboxplugin.cpp | 49 + .../src/designer/qxtgroupboxplugin.h | 45 + .../src/designer/qxtlabelplugin.cpp | 52 + .../src/designer/qxtlabelplugin.h | 41 + .../src/designer/qxtlistwidgetplugin.cpp | 40 + .../src/designer/qxtlistwidgetplugin.h | 41 + .../src/designer/qxtprogresslabelplugin.cpp | 49 + .../src/designer/qxtprogresslabelplugin.h | 41 + .../src/designer/qxtpushbuttonplugin.cpp | 51 + .../src/designer/qxtpushbuttonplugin.h | 41 + .../src/designer/qxtspansliderplugin.cpp | 40 + .../src/designer/qxtspansliderplugin.h | 41 + .../src/designer/qxtstarsplugin.cpp | 49 + .../src/designer/qxtstarsplugin.h | 41 + .../src/designer/qxtstringspinboxplugin.cpp | 41 + .../src/designer/qxtstringspinboxplugin.h | 41 + .../src/designer/qxttablewidgetplugin.cpp | 40 + .../src/designer/qxttablewidgetplugin.h | 41 + .../src/designer/qxttreewidgetplugin.cpp | 40 + .../src/designer/qxttreewidgetplugin.h | 41 + .../src/designer/resources.qrc | 5 + src/contrib/libqxt-2007-10-24/src/gui/gui.pro | 87 + .../src/gui/qxtapplication.cpp | 154 + .../src/gui/qxtapplication.h | 73 + .../src/gui/qxtapplication_mac.cpp | 212 + .../src/gui/qxtapplication_p.h | 60 + .../src/gui/qxtapplication_win.cpp | 222 + .../src/gui/qxtapplication_x11.cpp | 94 + .../src/gui/qxtcheckcombobox.cpp | 380 + .../src/gui/qxtcheckcombobox.h | 79 + .../src/gui/qxtcheckcombobox_p.h | 82 + .../src/gui/qxtconfigdialog.cpp | 751 + .../src/gui/qxtconfigdialog.h | 106 + .../src/gui/qxtconfigdialog_p.h | 84 + .../src/gui/qxtconfirmationmessage.cpp | 336 + .../src/gui/qxtconfirmationmessage.h | 75 + .../src/gui/qxtdesktopwidget.cpp | 180 + .../src/gui/qxtdesktopwidget.h | 44 + .../src/gui/qxtdesktopwidget_win.cpp | 91 + .../src/gui/qxtdesktopwidget_x11.cpp | 140 + .../src/gui/qxtdockwidget.cpp | 99 + .../libqxt-2007-10-24/src/gui/qxtdockwidget.h | 49 + .../libqxt-2007-10-24/src/gui/qxtgroupbox.cpp | 149 + .../libqxt-2007-10-24/src/gui/qxtgroupbox.h | 57 + .../libqxt-2007-10-24/src/gui/qxtgui.h | 48 + .../src/gui/qxtheaderview.cpp | 217 + .../libqxt-2007-10-24/src/gui/qxtheaderview.h | 59 + .../src/gui/qxtitemdelegate.cpp | 347 + .../src/gui/qxtitemdelegate.h | 74 + .../src/gui/qxtitemdelegate_p.h | 59 + .../libqxt-2007-10-24/src/gui/qxtlabel.cpp | 316 + .../libqxt-2007-10-24/src/gui/qxtlabel.h | 80 + .../src/gui/qxtlistwidget.cpp | 99 + .../libqxt-2007-10-24/src/gui/qxtlistwidget.h | 50 + .../src/gui/qxtlistwidget_p.h | 44 + .../src/gui/qxtlistwidgetitem.cpp | 103 + .../src/gui/qxtlistwidgetitem.h | 48 + .../src/gui/qxtnativeeventfilter.h | 119 + .../src/gui/qxtprogresslabel.cpp | 250 + .../src/gui/qxtprogresslabel.h | 65 + .../src/gui/qxtproxystyle.cpp | 209 + .../libqxt-2007-10-24/src/gui/qxtproxystyle.h | 65 + .../src/gui/qxtpushbutton.cpp | 322 + .../libqxt-2007-10-24/src/gui/qxtpushbutton.h | 63 + .../src/gui/qxtspanslider.cpp | 561 + .../libqxt-2007-10-24/src/gui/qxtspanslider.h | 69 + .../src/gui/qxtspanslider_p.h | 76 + .../libqxt-2007-10-24/src/gui/qxtstars.cpp | 356 + .../libqxt-2007-10-24/src/gui/qxtstars.h | 65 + .../src/gui/qxtstringspinbox.cpp | 140 + .../src/gui/qxtstringspinbox.h | 56 + .../src/gui/qxtstringvalidator.cpp | 340 + .../src/gui/qxtstringvalidator.h | 67 + .../src/gui/qxtstringvalidator_p.h | 54 + .../src/gui/qxttablewidget.cpp | 117 + .../src/gui/qxttablewidget.h | 51 + .../src/gui/qxttablewidget_p.h | 44 + .../src/gui/qxttablewidgetitem.cpp | 105 + .../src/gui/qxttablewidgetitem.h | 48 + .../src/gui/qxttabwidget.cpp | 397 + .../libqxt-2007-10-24/src/gui/qxttabwidget.h | 72 + .../libqxt-2007-10-24/src/gui/qxttooltip.cpp | 370 + .../libqxt-2007-10-24/src/gui/qxttooltip.h | 62 + .../libqxt-2007-10-24/src/gui/qxttooltip_p.h | 63 + .../src/gui/qxttreewidget.cpp | 174 + .../libqxt-2007-10-24/src/gui/qxttreewidget.h | 59 + .../src/gui/qxttreewidget_p.h | 46 + .../src/gui/qxttreewidgetitem.cpp | 123 + .../src/gui/qxttreewidgetitem.h | 53 + .../libqxt-2007-10-24/src/network/network.pro | 23 + .../src/network/qxtnamedpipe.cpp | 102 + .../src/network/qxtnamedpipe.h | 51 + .../src/network/qxtnamedpipe_unix.cpp | 51 + .../src/network/qxtnamedpipe_win.cpp | 202 + .../src/network/qxtnamedpipe_win.h | 34 + .../src/network/qxtnamedpipe_win_p.h | 36 + .../src/network}/qxtrpcpeer.cpp | 40 +- .../src/network}/qxtrpcpeer.h | 2 +- .../src/sql/qxtsqlpackage.cpp | 195 + .../libqxt-2007-10-24/src/sql/qxtsqlpackage.h | 122 + .../src/sql/qxtsqlpackagemodel.cpp | 85 + .../src/sql/qxtsqlpackagemodel.h | 74 + src/contrib/libqxt-2007-10-24/src/sql/sql.pro | 16 + .../src/web/qxtabstractwebconnector.h | 54 + .../src/web/qxtfcgiconnector.cpp | 189 + .../src/web/qxtfcgiconnector.h | 52 + .../src/web/qxtfcgiconnector_p.h | 70 + .../src/web/qxthtmltemplate.cpp | 147 + .../src/web/qxthtmltemplate.h | 47 + .../src/web/qxtscgiconnector.cpp | 232 + .../src/web/qxtscgiconnector.h | 52 + .../src/web/qxtwebcontroller.cpp | 193 + .../src/web/qxtwebcontroller.h | 55 + .../libqxt-2007-10-24/src/web/qxtwebcore.cpp | 304 + .../libqxt-2007-10-24/src/web/qxtwebcore.h | 86 + .../libqxt-2007-10-24/src/web/qxtwebcore_p.h | 54 + src/contrib/libqxt-2007-10-24/src/web/web.pro | 28 + .../tests/QxtCurses/QxtCursesTest.pro | 15 + .../tests/QxtCurses/cursestest.cpp | 81 + .../tests/QxtCurses/cursestest.h | 28 + .../tests/QxtFileLock/qxtfilelock.pro | 5 + .../tests/QxtFileLock/src/HelperClass.cpp | 22 + .../tests/QxtFileLock/src/HelperClass.h | 19 + .../tests/QxtFileLock/src/locktestclient.cpp | 104 + .../tests/QxtFileLock/src/locktestclient.h | 27 + .../tests/QxtFileLock/src/main.cpp | 151 + .../tests/QxtFileLock/src/src.pro | 20 + .../QxtFileLock/src/threadtestcontroller.cpp | 102 + .../QxtFileLock/src/threadtestcontroller.h | 39 + .../tests/QxtGui/app/app.pro | 11 + .../tests/QxtGui/app/app.qrc | 7 + .../tests/QxtGui/app/images/calendar.png | Bin 0 -> 4427 bytes .../tests/QxtGui/app/images/list.png | Bin 0 -> 624 bytes .../tests/QxtGui/app/images/tree.png | Bin 0 -> 1010 bytes .../tests/QxtGui/app/main.cpp | 10 + .../tests/QxtGui/app/mainwindow.cpp | 116 + .../tests/QxtGui/app/mainwindow.h | 29 + .../tests/QxtGui/app/mainwindow.ui | 186 + .../tests/QxtGui/app/tab.cpp | 239 + .../libqxt-2007-10-24/tests/QxtGui/app/tab.h | 42 + .../libqxt-2007-10-24/tests/QxtGui/app/tab.ui | 459 + .../tests/QxtGui/unit/main.cpp | 650 + .../tests/QxtGui/unit/unit.pro | 7 + .../libqxt-2007-10-24/tests/bind/bind.pro | 8 + .../libqxt-2007-10-24/tests/bind/main.cpp | 97 + .../libqxt-2007-10-24/tests/fifo/fifo.pro | 7 + .../libqxt-2007-10-24/tests/fifo/main.cpp | 58 + .../tests/filelock/filelock.pro | 9 + .../libqxt-2007-10-24/tests/filelock/main.cpp | 243 + .../libqxt-2007-10-24/tests/job/main.cpp | 78 + .../libqxt-2007-10-24/tests/job/test.pro | 9 + .../tests/namedpipe/main.cpp | 38 + .../tests/namedpipe/namedpipe.pro | 7 + .../libqxt-2007-10-24/tests/pipe/main.cpp | 74 + .../libqxt-2007-10-24/tests/pipe/pipe.pro | 7 + .../libqxt-2007-10-24/tests/rpc/main.cpp | 108 + .../libqxt-2007-10-24/tests/rpc/rpc.pro | 7 + .../libqxt-2007-10-24/tests/slotjob/main.cpp | 35 + .../tests/slotjob/slotjob.pro | 7 + .../tests/web/async/main.cpp | 73 + .../libqxt-2007-10-24/tests/web/async/web.pro | 8 + .../tests/web/htmltemplate/htmltemplate.pro | 8 + .../tests/web/htmltemplate/main.cpp | 32 + .../tests/web/invoketest/main.cpp | 69 + .../tests/web/invoketest/web.pro | 8 + .../tests/web/upload/main.cpp | 53 + .../tests/web/upload/web.pro | 8 + .../libqxt-2007-10-24/tools/doqsy/doqsy.pro | 9 + .../libqxt-2007-10-24/tools/doqsy/main.cpp | 760 + src/contrib/qxt/AUTHORS | 15 - src/contrib/qxt/LGPL | 504 - src/contrib/qxt/README | 4 - src/contrib/qxt/qxt.pri | 4 - src/contrib/qxt/qxt.pro | 2 - src/contrib/qxt/qxtboundcfunction.h | 72 - src/contrib/qxt/qxtboundfunction.h | 104 - src/contrib/qxt/qxtmetaobject.h | 58 - src/core/core.pri | 2 +- src/qtui/mainwin.cpp | 1 + 396 files changed, 111949 insertions(+), 844 deletions(-) create mode 100644 build/contrib/contrib.pri create mode 100644 build/contrib/libqxt-config.pri create mode 100644 build/contrib/libqxt-version.pri create mode 100644 build/contrib/libqxt.pro create mode 100644 src/contrib/libqxt-2007-10-24/.qmake.cache create mode 100644 src/contrib/libqxt-2007-10-24/AUTHORS create mode 100644 src/contrib/libqxt-2007-10-24/Doqsyfile rename src/contrib/{qxt => libqxt-2007-10-24}/LICENSE (83%) create mode 100644 src/contrib/libqxt-2007-10-24/README create mode 100644 src/contrib/libqxt-2007-10-24/config.pri create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/curses/curses.pro create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/curses/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/fcgi/fcgi.pro create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/fcgi/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/ffmpeg.pro create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/openssl/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/openssl/openssl.pro create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/qt4/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/qt4/qt4.pro create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/sdl/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/config.tests/sdl/sdl.pro create mode 100755 src/contrib/libqxt-2007-10-24/configure create mode 100644 src/contrib/libqxt-2007-10-24/configure.bat create mode 100644 src/contrib/libqxt-2007-10-24/cpl1.0.txt create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtCore create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtError create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFifo create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFileLock create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFuture create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtHyperMacros create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtJob create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtMetaObject create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNull create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNullable create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPimpl create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPipe create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSemaphore create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSignalWaiter create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSlotJob create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdStreambufDevice create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdio create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtTuple create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtBlowFish create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtCrypto create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtHash create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtCurses/QxtCurses create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtApplication create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtCheckComboBox create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfigDialog create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfirmationMessage create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDesktopWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDockWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGroupBox create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGui create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtHeaderView create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtItemDelegate create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtLabel create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidgetItem create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtNativeEventFilter create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProgressLabel create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProxyStyle create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtPushButton create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtSpanSlider create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStars create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringSpinBox create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringValidator create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTabWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidgetItem create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtToolTip create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidgetItem create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtCsvModel create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtEventThread create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtKit create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtPairList create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtSignalWaiter create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtTrippleList create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVFile create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVPlayer create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtMedia create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtRingBuffer create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtSdlWidget create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtBlowFish create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNamedPipe create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNetwork create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtRPCPeer create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSql create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackage create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackageModel create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtFcgiConnector create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtHtmlTemplate create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtScgiConnector create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWeb create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebController create mode 100644 src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebCore create mode 100644 src/contrib/libqxt-2007-10-24/deploy/qt/mox.prf create mode 100644 src/contrib/libqxt-2007-10-24/deploy/qt/qxt.prf.m create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-enum.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-impl.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-members-unroll.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-members.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-property.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-section-unroll.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-section.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class-unroll-inherits.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/class.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/classes-unroll.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/classes.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/classic.css create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/index.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/logo.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/module.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/modules-unroll.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/modules.html create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qt.tag create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtcheckcombobox.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtconfigdialog.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtconfirmationmessage.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtgroupbox.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtheaderview.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtlabel.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtlistwidget.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtprogresslabel.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtpushbutton.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtspanslider.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtstars.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxtstringspinbox.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxttablewidget.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxttabwidget.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxttooltip.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/qxttreewidget.png create mode 100644 src/contrib/libqxt-2007-10-24/doctemplate/site.html create mode 100755 src/contrib/libqxt-2007-10-24/doctemplate/stylesheet.css create mode 100644 src/contrib/libqxt-2007-10-24/examples/rpcpeer/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/examples/rpcpeer/rpcpeer.pro create mode 100644 src/contrib/libqxt-2007-10-24/extras/GPL_Exception1.0.txt create mode 100644 src/contrib/libqxt-2007-10-24/extras/artwork/logo.png create mode 100644 src/contrib/libqxt-2007-10-24/extras/artwork/logo.png.svg create mode 100644 src/contrib/libqxt-2007-10-24/extras/syntax_highlighting/kate/cpp.xml create mode 100644 src/contrib/libqxt-2007-10-24/features/macx/qxtbuild.prf create mode 100644 src/contrib/libqxt-2007-10-24/features/qxtbuild.prf create mode 100644 src/contrib/libqxt-2007-10-24/features/unix/bootstrap.prf create mode 100644 src/contrib/libqxt-2007-10-24/features/unix/qxtbuild.prf create mode 100644 src/contrib/libqxt-2007-10-24/features/win32/qxtbuild.prf create mode 100644 src/contrib/libqxt-2007-10-24/libqxt.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/core/core.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtboundcfunction.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtboundfunction.h rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtboundfunctionbase.h (81%) create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxterror.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxterror.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfifo.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfifo.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_unix.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_win.cpp rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtglobal.h (89%) create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxthypermacros.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtjob.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtjob.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtjob_p.h rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtmetaobject.cpp (86%) create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtmetatype.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtnamespace.h rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtnull.cpp (100%) rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtnull.h (99%) rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtnullable.h (98%) create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtpairList.h rename src/contrib/{qxt => libqxt-2007-10-24/src/core}/qxtpimpl.h (99%) create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtpipe.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtpipe.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtslotjob_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtstdio.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtstdio.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxttuple.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxttuplelist.h create mode 100644 src/contrib/libqxt-2007-10-24/src/core/qxttypelist.h create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/crypto.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.h create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/qxthash.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/qxthash.h create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/qxthash_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.h create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/designer.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.h create mode 100644 src/contrib/libqxt-2007-10-24/src/designer/resources.qrc create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/gui.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_mac.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_win.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_x11.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_win.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_x11.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtgui.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtnativeeventfilter.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstars.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstars.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttooltip_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.h create mode 100644 src/contrib/libqxt-2007-10-24/src/network/network.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.h create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_unix.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.h create mode 100644 src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win_p.h rename src/contrib/{qxt => libqxt-2007-10-24/src/network}/qxtrpcpeer.cpp (95%) rename src/contrib/{qxt => libqxt-2007-10-24/src/network}/qxtrpcpeer.h (99%) create mode 100644 src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackage.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackage.h create mode 100644 src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.h create mode 100644 src/contrib/libqxt-2007-10-24/src/sql/sql.pro create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtabstractwebconnector.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxthtmltemplate.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxthtmltemplate.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.cpp create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/qxtwebcore_p.h create mode 100644 src/contrib/libqxt-2007-10-24/src/web/web.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtCurses/QxtCursesTest.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/qxtfilelock.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/src.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.qrc create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/images/calendar.png create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/images/list.png create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/images/tree.png create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.ui create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.h create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.ui create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/unit.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/bind/bind.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/bind/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/fifo/fifo.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/fifo/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/filelock/filelock.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/filelock/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/job/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/job/test.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/namedpipe/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/namedpipe/namedpipe.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/pipe/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/pipe/pipe.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/rpc/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/rpc/rpc.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/slotjob/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/slotjob/slotjob.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/async/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/async/web.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/htmltemplate.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/invoketest/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/invoketest/web.pro create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/upload/main.cpp create mode 100644 src/contrib/libqxt-2007-10-24/tests/web/upload/web.pro create mode 100644 src/contrib/libqxt-2007-10-24/tools/doqsy/doqsy.pro create mode 100644 src/contrib/libqxt-2007-10-24/tools/doqsy/main.cpp delete mode 100644 src/contrib/qxt/AUTHORS delete mode 100644 src/contrib/qxt/LGPL delete mode 100644 src/contrib/qxt/README delete mode 100644 src/contrib/qxt/qxt.pri delete mode 100644 src/contrib/qxt/qxt.pro delete mode 100644 src/contrib/qxt/qxtboundcfunction.h delete mode 100644 src/contrib/qxt/qxtboundfunction.h delete mode 100644 src/contrib/qxt/qxtmetaobject.h diff --git a/build/contrib/contrib.pri b/build/contrib/contrib.pri new file mode 100644 index 00000000..c3cde2a4 --- /dev/null +++ b/build/contrib/contrib.pri @@ -0,0 +1,8 @@ +contains(CONTRIB, libqxt) { + include(../contrib/libqxt-version.pri) + QXTLIB = ../contrib + QXTINC = ../../src/contrib/libqxt-$$QXTVER/deploy/include + QXTREALINC = ../../src/contrib/libqxt-$$QXTVER/src + INCLUDEPATH += $$QXTINC/QxtCore $$QXTINC/QxtNetwork $$QXTREALINC/network $$QXTREALINC/core + LIBS += -L$$QXTLIB -lQxtNetwork -lQxtCore +} diff --git a/build/contrib/libqxt-config.pri b/build/contrib/libqxt-config.pri new file mode 100644 index 00000000..1d65e999 --- /dev/null +++ b/build/contrib/libqxt-config.pri @@ -0,0 +1,11 @@ +# This file needs to be copied into src/contrib/libqxt-$$QXTVER/config.pri if you +# update the snapshot! + +# Stuff that is used by the libqxt project files +CONFIG += static staticlibs +CONFIG += release +DEFINES *= HAVE_QT +QXTBUILDDIR = ../../../../../build/contrib +DESTDIR = $$QXTBUILDDIR +MOC_DIR = $$QXTBUILDDIR/.libqxt/moc +OBJECTS_DIR = $$QXTBUILDDIR/.libqxt/obj diff --git a/build/contrib/libqxt-version.pri b/build/contrib/libqxt-version.pri new file mode 100644 index 00000000..294e335a --- /dev/null +++ b/build/contrib/libqxt-version.pri @@ -0,0 +1,3 @@ +# Version of the Qxt library. We expect to find it at src/contrib/libqxt-$$QXTVER. + +QXTVER = 2007-10-24 diff --git a/build/contrib/libqxt.pro b/build/contrib/libqxt.pro new file mode 100644 index 00000000..79df9ef5 --- /dev/null +++ b/build/contrib/libqxt.pro @@ -0,0 +1,6 @@ +TEMPLATE = subdirs + +include(libqxt-version.pri) +QXTDIR = ../../src/contrib/libqxt-$$QXTVER/src + +SUBDIRS = $$QXTDIR/core $$QXTDIR/network diff --git a/build/modules/module.pri b/build/modules/module.pri index 8054d404..cc452f85 100644 --- a/build/modules/module.pri +++ b/build/modules/module.pri @@ -37,6 +37,10 @@ for(qtmod, QT_MOD) { QT *= $$qtmod } +# Include contrib stuff + +include(../contrib/contrib.pri) + # Set includepath for needed Quassel modules for(dep, DEPMOD) { diff --git a/build/quassel.pro b/build/quassel.pro index a2de999f..e52d3f1b 100644 --- a/build/quassel.pro +++ b/build/quassel.pro @@ -47,7 +47,11 @@ contains(BUILD, qtclient) { BUILD_TARGETS *= qtclient } -# Now, we first build all needed modules... +# First we build contrib stuff... + +SUBDIRS += contrib/libqxt.pro + +# Then we build all needed modules... for(mod, BUILD_MODS) { SUBDIRS += modules/$${mod}.pro } diff --git a/build/targets/target.pri b/build/targets/target.pri index 68ebcd73..fa4112e4 100644 --- a/build/targets/target.pri +++ b/build/targets/target.pri @@ -15,4 +15,7 @@ for(mod, MODULES) { PRE_TARGETDEPS *= ../modules/$$mod } +CONTRIB += libqxt +include(../contrib/contrib.pri) + SOURCES = $$SRCPATH/common/main.cpp diff --git a/src/client/client.pri b/src/client/client.pri index 7a47f5e9..dbf434d4 100644 --- a/src/client/client.pri +++ b/src/client/client.pri @@ -1,4 +1,4 @@ -DEPMOD = common contrib/qxt +DEPMOD = common QT_MOD = core network gui # gui is needed just for QColor... FIXME! SRCS += buffer.cpp buffertreemodel.cpp client.cpp clientsettings.cpp treemodel.cpp mappedselectionmodel.cpp selectionmodelsynchronizer.cpp modelpropertymapper.cpp HDRS += buffer.h buffertreemodel.h client.h clientsettings.h quasselui.h treemodel.h mappedselectionmodel.h selectionmodelsynchronizer.h modelpropertymapper.h diff --git a/src/common/common.pri b/src/common/common.pri index 0df5568f..75d265d0 100644 --- a/src/common/common.pri +++ b/src/common/common.pri @@ -1,4 +1,5 @@ -DEPMOD = contrib/qxt +DEPMOD = +CONTRIB = libqxt QT_MOD = network SRCS += global.cpp logger.cpp message.cpp settings.cpp signalproxy.cpp util.cpp synchronizer.cpp networkinfo.cpp ircuser.cpp ircchannel.cpp bufferinfo.cpp HDRS += global.h logger.h message.h settings.h signalproxy.h util.h synchronizer.h networkinfo.h ircuser.h ircchannel.h bufferinfo.h diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index 763daf61..77527427 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -20,6 +20,8 @@ #include "signalproxy.h" +#include + SignalProxy::SignalProxy(ProxyType _type, QIODevice *dev, QObject *parent) : QObject(parent), type(_type) { if(dev) { if(type != Client) { diff --git a/src/common/signalproxy.h b/src/common/signalproxy.h index 3e7136ad..f44db23e 100644 --- a/src/common/signalproxy.h +++ b/src/common/signalproxy.h @@ -21,9 +21,10 @@ #ifndef _RPCPEER_H_ #define _RPCPEER_H_ -#include "qxtrpcpeer.h" #include +class QxtRPCPeer; + class SignalProxy : public QObject { Q_OBJECT diff --git a/src/contrib/libqxt-2007-10-24/.qmake.cache b/src/contrib/libqxt-2007-10-24/.qmake.cache new file mode 100644 index 00000000..0b017655 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/.qmake.cache @@ -0,0 +1,56 @@ +aix-g++: PLATFORM=aix-g++ +aix-g++-64: PLATFORM=aix-g++-64 +aix-xlc: PLATFORM=aix-xlc +aix-xlc-64: PLATFORM=aix-xlc-64 +common: PLATFORM=common +darwin-g++: PLATFORM=darwin-g++ +default: PLATFORM=default +features: PLATFORM=features +freebsd-g++: PLATFORM=freebsd-g++ +freebsd-g++34: PLATFORM=freebsd-g++34 +freebsd-g++40: PLATFORM=freebsd-g++40 +freebsd-icc: PLATFORM=freebsd-icc +hpux-acc: PLATFORM=freebsd-icc +hpux-acc-64: PLATFORM=hpux-acc +hpux-acc-o64: PLATFORM=hpux-acc-64 +hpux-g++: PLATFORM=hpux-acc-o64 +hpux-g++-64: PLATFORM=hpux-g++-64 +hpuxi-acc: PLATFORM=hpuxi-acc +hpuxi-acc-64: PLATFORM=hpuxi-acc-64 +hurd-g++: PLATFORM=hurd-g++ +irix-cc: PLATFORM=irix-cc +irix-cc-64: PLATFORM=irix-cc-64 +irix-g++: PLATFORM=irix-g++ +irix-g++-64: PLATFORM=irix-g++-64 +linux-cxx: PLATFORM=linux-cxx +linux-ecc-64: PLATFORM=linux-ecc-64 +linux-g++: PLATFORM=linux-g++ +linux-g++-32: PLATFORM=linux-g++-32 +linux-g++-64: PLATFORM=linux-g++-64 +linux-icc: PLATFORM=linux-icc +linux-kcc: PLATFORM=linux-kcc +linux-lsb: PLATFORM=linux-lsb +linux-pgcc: PLATFORM=linux-pgcc +lynxos-g++: PLATFORM=lynxos-g++ +macx-g++: PLATFORM=macx-g++ +macx-icc: PLATFORM=macx-icc +macx-pbuilder: PLATFORM=macx-pbuilder +macx-xcode: PLATFORM=macx-xcode +macx-xlc: PLATFORM=macx-xlc +netbsd-g++: PLATFORM=netbsd-g++ +openbsd-g++: PLATFORM=openbsd-g++ +qconfig.pri: PLATFORM=qconfig.pri +qws: PLATFORM=qws +sco-cc: PLATFORM=sco-cc +sco-g++: PLATFORM=sco-g++ +solaris-cc: PLATFORM=solaris-cc +solaris-cc-64: PLATFORM=solaris-cc-64 +solaris-g++: PLATFORM=solaris-g++ +solaris-g++-64: PLATFORM=solaris-g++-64 +tru64-cxx: PLATFORM=tru64-cxx +tru64-g++: PLATFORM=tru64-g++ +unixware-cc: PLATFORM=unixware-cc +unixware-g++: PLATFORM=unixware-g++ +win32-g++: PLATFORM=win32-g++ + +QXT_BUILD = core gui network sql web designer crypto diff --git a/src/contrib/libqxt-2007-10-24/AUTHORS b/src/contrib/libqxt-2007-10-24/AUTHORS new file mode 100644 index 00000000..2fb7b690 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/AUTHORS @@ -0,0 +1,7 @@ +Arvid Picciani +Adam Higerd +J-P Nurmi +Benjamin Zeller + + +thanks for all the minor contributions, bug reports, beta tests, and the free beer :-) diff --git a/src/contrib/libqxt-2007-10-24/Doqsyfile b/src/contrib/libqxt-2007-10-24/Doqsyfile new file mode 100644 index 00000000..c189b334 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/Doqsyfile @@ -0,0 +1,31 @@ +[doqsy] +output=deploy/docs +templates=doctemplate +doxygen=doxygen + +[doxygen] +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = Qt Extension Library +PROJECT_NUMBER = 0.4 +INPUT_ENCODING = UTF-8 +INPUT = src +FILE_PATTERNS = * +RECURSIVE = YES +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = */.svn/* \ + */moc_* \ + */Makefile \ + *.pro \ + *.o \ + *.p* \ + *.s* \ + *.*~ \ + *_p.h \ + *_p.hpp \ + +ENABLE_PREPROCESSING = YES +PREDEFINED = QXT_DOXYGEN_RUN +TAGFILES = doctemplate/qt.tag=http://doc.trolltech.com/latest + +GENERATE_HTML = NO +GENERATE_LATEX = NO diff --git a/src/contrib/qxt/LICENSE b/src/contrib/libqxt-2007-10-24/LICENSE similarity index 83% rename from src/contrib/qxt/LICENSE rename to src/contrib/libqxt-2007-10-24/LICENSE index e853fa78..1f03abe4 100644 --- a/src/contrib/qxt/LICENSE +++ b/src/contrib/libqxt-2007-10-24/LICENSE @@ -1,4 +1,4 @@ -Qt Extended Library +Qt Extension Library Copyright (C) 2007 Qxt Foundation ------------------- Disclaimer ------------------------------------------------ @@ -6,7 +6,7 @@ Copyright (C) 2007 Qxt Foundation Until the Qxt Foundation is legally established, copyright for the source code falls back to the original contributor. For information about the status of the Qxt Foundation, or about the copyright status of any part of Qxt, -contact the Qxt project maintainers at . +contact the Qxt project maintainers at Once the Qxt Foundation has been legally established, all contributors must transfer all copyright interest to the Qxt Foundation before their submissions @@ -14,19 +14,18 @@ will be added to the project. ------------------- License --------------------------------------------------- -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; version 2.1. +This library is free software; you can redistribute it and/or modify it +under the terms of th Common Public License, version 1.0, as published by IBM. -Future versions of the source code of this library may be redistributed and/or -modified under the terms of the Common Public License; version 1.0. +This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. -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 about the LGPL (see the included file entitled LGPL) or the Common -Public License for more information about the CPM (see the included file -entitled cpl1.0.txt). +You should have received a copy of the CPL along with this file. +See the LICENSE file and the cpl1.0.txt file included with the source +distribution for more information. If you did not receive a copy of the +license, contact the Qxt Foundation. Parts of Qxt depend on Qt 4 and/or other libraries that have their own licenses. Qxt is independent of these licenses; however, use of these other diff --git a/src/contrib/libqxt-2007-10-24/README b/src/contrib/libqxt-2007-10-24/README new file mode 100644 index 00000000..20880be2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/README @@ -0,0 +1 @@ +please see http://libqxt.org/page/user diff --git a/src/contrib/libqxt-2007-10-24/config.pri b/src/contrib/libqxt-2007-10-24/config.pri new file mode 100644 index 00000000..1d65e999 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.pri @@ -0,0 +1,11 @@ +# This file needs to be copied into src/contrib/libqxt-$$QXTVER/config.pri if you +# update the snapshot! + +# Stuff that is used by the libqxt project files +CONFIG += static staticlibs +CONFIG += release +DEFINES *= HAVE_QT +QXTBUILDDIR = ../../../../../build/contrib +DESTDIR = $$QXTBUILDDIR +MOC_DIR = $$QXTBUILDDIR/.libqxt/moc +OBJECTS_DIR = $$QXTBUILDDIR/.libqxt/obj diff --git a/src/contrib/libqxt-2007-10-24/config.tests/curses/curses.pro b/src/contrib/libqxt-2007-10-24/config.tests/curses/curses.pro new file mode 100644 index 00000000..7cecd6e5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/curses/curses.pro @@ -0,0 +1,9 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +LIBS += -lpanel -lncurses +CONFIG -= qt +CONFIG -= app_bundle diff --git a/src/contrib/libqxt-2007-10-24/config.tests/curses/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/curses/main.cpp new file mode 100644 index 00000000..eaa9de93 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/curses/main.cpp @@ -0,0 +1,14 @@ +#include +#include + +int main(int argc, char** argv) +{ + WINDOW w; + PANEL p; + (void)(w); + (void)(p); + (void)(argc); + (void)(argv); + return 0; +} + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/fcgi/fcgi.pro b/src/contrib/libqxt-2007-10-24/config.tests/fcgi/fcgi.pro new file mode 100644 index 00000000..55af9b75 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/fcgi/fcgi.pro @@ -0,0 +1,8 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +LIBS+=-lfcgi++ +QT=core diff --git a/src/contrib/libqxt-2007-10-24/config.tests/fcgi/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/fcgi/main.cpp new file mode 100644 index 00000000..0bd42f82 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/fcgi/main.cpp @@ -0,0 +1,12 @@ +#include "fcgio.h" +#include "fcgi_config.h" +int main (int,char**) + { + FCGX_Request request; + FCGX_Init(); + FCGX_InitRequest(&request, 0, 0); + fcgi_streambuf(request.out); + return 0; + } + + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/ffmpeg.pro b/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/ffmpeg.pro new file mode 100644 index 00000000..b304aa3c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/ffmpeg.pro @@ -0,0 +1,9 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +LIBS+=-lavcodec -lavformat +QT=core +CONFIG -= app_bundle diff --git a/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/main.cpp new file mode 100644 index 00000000..9c6007ad --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/ffmpeg/main.cpp @@ -0,0 +1,26 @@ +#include +#ifndef INT64_C + #define INT64_C Q_INT64_C +#endif + + + +#include +#include + + +int main (int,char**) + { + av_register_all(); + avcodec_init(); + avcodec_register_all(); + + if(LIBAVCODEC_VERSION_INT>>16!=51) + { + qDebug("incompatible major version %i",LIBAVCODEC_VERSION_INT>>16); + return 3; + } + return 0; + } + + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/openssl/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/openssl/main.cpp new file mode 100644 index 00000000..07188d48 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/openssl/main.cpp @@ -0,0 +1,15 @@ +#include + + + + +int main(int,char**) + { + BF_KEY key; + unsigned char * foo=(unsigned char *)"hello world"; + BF_set_key(&key, 1,foo); + return 0; + } + + + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/openssl/openssl.pro b/src/contrib/libqxt-2007-10-24/config.tests/openssl/openssl.pro new file mode 100644 index 00000000..7944e47b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/openssl/openssl.pro @@ -0,0 +1,9 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +LIBS+=-lssl +QT=core +CONFIG -= app_bundle diff --git a/src/contrib/libqxt-2007-10-24/config.tests/qt4/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/qt4/main.cpp new file mode 100644 index 00000000..bb03af0e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/qt4/main.cpp @@ -0,0 +1,15 @@ +#include + + +#if QT_VERSION < 0x040000 +#error needs qt4 +#endif + + +int main (int,char**) + { + QObject(); + return 0; + } + + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/qt4/qt4.pro b/src/contrib/libqxt-2007-10-24/config.tests/qt4/qt4.pro new file mode 100644 index 00000000..8ef743a5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/qt4/qt4.pro @@ -0,0 +1,8 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +QT=core +CONFIG -= app_bundle diff --git a/src/contrib/libqxt-2007-10-24/config.tests/sdl/main.cpp b/src/contrib/libqxt-2007-10-24/config.tests/sdl/main.cpp new file mode 100644 index 00000000..0d137834 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/sdl/main.cpp @@ -0,0 +1,10 @@ +#include + + +int main (int,char**) + { + SDL_Quit(); + return 0; + } + + diff --git a/src/contrib/libqxt-2007-10-24/config.tests/sdl/sdl.pro b/src/contrib/libqxt-2007-10-24/config.tests/sdl/sdl.pro new file mode 100644 index 00000000..1c4bea0d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/config.tests/sdl/sdl.pro @@ -0,0 +1,8 @@ +win32:include(../../depends.pri) +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +LIBS+=-lSDL +QT=core diff --git a/src/contrib/libqxt-2007-10-24/configure b/src/contrib/libqxt-2007-10-24/configure new file mode 100755 index 00000000..d194eea3 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/configure @@ -0,0 +1,162 @@ +#!/bin/bash + +#====some defaults==== +QMAKE_BIN=qmake +WHICH=which + +NO_OPENSSL=0 +NO_FFMPEG=0 + +if uname -a | grep -iq Darwin; then + DEFAULT_LIBS="/Library/Frameworks" + QMAKE_PARAMS="-spec macx-g++" +else + DEFAULT_LIBS="PREFIX/lib" + QMAKE_PARAMS="" +fi + +# the directory of this script (the root) +PROJECT_ROOT=`dirname $0` +PROJECT_ROOT=`(cd "$relpath"; /bin/pwd)` +TESTDIR=$PROJECT_ROOT/config.tests +CONFIG_LOG=$PROJECT_ROOT/config.log + +# Define some colors for neat output +C_RED='\e[1;31m' +C_BLUE='\e[1;34m' +C_GREEN='\e[1;32m' +C_CYAN='\e[1;36m' +C_NONE='\e[0m' # No Color + +#====parse configure options==== + +echo "QXT_stability += unknown" > config.in + +while (( $# > 0 )); do + if [ $1 == "-qmake-bin" ]; then + QMAKE_BIN=$2; shift + elif [ $1 == "-bootstrap" ]; then + echo "CONFIG += bootstrap" >> config.in; shift + elif [ $1 == "-nomake" ]; then + echo "QXT_BUILD -= $2" >> config.in; shift + elif [ $1 == "-prefix" ]; then + echo "QXTINSTALLDIR = $2" >> config.in; shift + elif [ $1 == "-libdir" ]; then + echo "target.path = $2" >> config.in; shift + elif [ $1 == "-docdir" ]; then + echo "docs.path = $2" >> config.in; shift + elif [ $1 == "-headerdir" ]; then + echo "include.path = $2" >> config.in; shift + elif [ $1 == "-bindir" ]; then + echo "bin.path = $2" >> config.in; shift + elif [ $1 == "-static" ]; then + echo "CONFIG += static staticlib" >> config.in + elif [ $1 == "-debug" ]; then + echo "CONFIG += debug" >> config.in + elif [ $1 == "-release" ]; then + echo "CONFIG += release" >> config.in + elif [ $1 == "-no-openssl" ]; then + echo "QXT_LIBS -= openssl" >> config.in + NO_OPENSSL=1 + elif [ $1 == "-help" ] || [ $1 == "--help" ]; then + echo "Usage: configure [-prefix ] [-libdir ] [-docdir ]" + echo " [-bindir ] [-headerdir ] [-qmake-bin ]" + echo " [-static] [-debug] [-release] [-no-openssl] [-nomake ]" + echo + echo "Installation options:" + echo + echo "-prefix ....... This will install everything relative to " + echo " default: /usr/local/Qxt" + echo "-libdir ....... Libraries will be installed to " + echo " default: $DEFAULT_LIBS" + echo "-docdir ....... Documentation will be installed to " + echo " default: PREFIX/share/doc" + echo "-bindir ....... Executables will be installed to " + echo " default: PREFIX/bin" + echo "-headerdir .... Include files will be installed to " + echo " default: PREFIX/include" + echo "-qmake-bin ... Specifies the path to the qmake executable" + echo " default: search the system path" + echo "-static ............. Compile Qxt as a static library" + echo "-debug .............. Build Qxt with debugging symbols" + echo "-release ............ Build Qxt without debugging support" + echo "-no-openssl ......... Do not link to OpenSSL" + echo "-nomake .... Do not compile the specified module" + echo " options: network gui sql media web designer" + echo "-bootstrap .......... That should not be needed for release versions." + echo " warning: will only work on bash > 3.2" + + rm config.in + exit + else + echo "Unrecognized configure option: $1" + rm config.in + exit + fi + shift +done + +#====begin some autodetection==== +>$CONFIG_LOG + +# qmake? +if ! $WHICH $QMAKE_BIN >>$CONFIG_LOG 2>&1; then + echo >&2 "You don't seem to have 'qmake' in your PATH." + echo >&2 "Cannot proceed." + exit 1 +fi + +# find a make command +if [ -z "$MAKE" ]; then + MAKE= + for mk in gmake make; do + if "$WHICH" $mk | grep -qv "no "; then + MAKE=`$WHICH $mk` + break + fi + done + if [ -z "$MAKE" ]; then + echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH." + echo >&2 "Cannot proceed." + exit 1 + fi +fi + +configtest() +{ + echo -en "checking for $1\t" + echo -e " \n\n $1\n" >>$CONFIG_LOG + cd $TESTDIR/$1 + $QMAKE_BIN $QMAKE_PARAMS >>$CONFIG_LOG 2>&1 + echo -n "." + $MAKE clean >>$CONFIG_LOG 2>&1 + [ -f ./$1 ] && rm ./$1 + echo -n "." + $MAKE >>$CONFIG_LOG 2>&1 + echo -n "." + if ./$1 >>$CONFIG_LOG 2>&1; then + echo -e >&2 " [${C_GREEN}success${C_NONE}] " + echo "DEFINES+=HAVE_$2">>$PROJECT_ROOT/config.in + else + echo -e >&2 " [${C_RED}failure${C_NONE}] " + fi +} + +configtest qt4 QT +if [[ "$NO_OPENSSL" == "0" ]]; then + configtest openssl OPENSSL +fi +#configtest curses CURSES +configtest fcgi FCGI + + +#====finaly running qmake==== +echo "autodetection finished. running qmake." +cd $PROJECT_ROOT + +[ -f config.pri ] && mv config.pri config.pri.bak +mv config.in config.pri + +$QMAKE_BIN $QMAKE_PARAMS -recursive 2>>$CONFIG_LOG + +echo -e >&2 "${C_CYAN}configure finished. run $MAKE now.${C_NONE}\n" diff --git a/src/contrib/libqxt-2007-10-24/configure.bat b/src/contrib/libqxt-2007-10-24/configure.bat new file mode 100644 index 00000000..29b7b87c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/configure.bat @@ -0,0 +1,253 @@ +@ECHO off +SET QMAKE=qmake +SET MAKE=nmake +SET PROJECT_ROOT=%CD% +SET TESTDIR=%PROJECT_ROOT%\config.tests +SET CONFIG_LOG=config.log +SET LAST_FUNC_RET=0 + +if exist %PROJECT_ROOT%\config.in del %PROJECT_ROOT%\config.in +if exist %PROJECT_ROOT%\config.log del %PROJECT_ROOT%\config.log +if exist %PROJECT_ROOT%\depends.pri del %PROJECT_ROOT%\depends.pri + +echo #depends.pri > %PROJECT_ROOT%\depends.pri + +shift +set QMAKEBIN=qmake +set MSVCMODE= +set OPENSSL=1 +set FCGI=1 +echo include(depends.pri) > %PROJECT_ROOT%\config.in +echo QXT_stability += unknown >> %PROJECT_ROOT%\config.in + +:top +if "%0" == "" goto finish +if "%0" == "-qmake-bin" goto setqmake +if "%0" == "-I" goto addinclude +if "%0" == "-L" goto addlibpath +if "%0" == "-l" goto addlib +if "%0" == "-nomake" goto nomake +if "%0" == "-prefix" goto prefix +if "%0" == "-libdir" goto libdir +if "%0" == "-docdir" goto docdir +if "%0" == "-headerdir" goto headerdir +if "%0" == "-bindir" goto bindir +if "%0" == "-static" goto static +if "%0" == "-debug" goto debug +if "%0" == "-release" goto release +if "%0" == "-no-openssl" goto noopenssl +if "%0" == "-msvc" goto msvc +if "%0" == "/help" goto help +if "%0" == "-help" goto help +if "%0" == "--help" goto help +if "%0" == "/?" goto help + +echo Unrecognized configure option: %0 +del %PROJECT_ROOT%\config.in +goto end + +:setqmake +set QMAKEBIN=%1 +goto bottom2 + +:addinclude +echo INCLUDEPATH += "%1" >> %PROJECT_ROOT%\depends.pri +goto bottom2 + +:addlibpath +echo LIBS += -L"%1" >> %PROJECT_ROOT%\depends.pri +goto bottom2 + +:addlib +echo LIBS += -l"%1" >> %PROJECT_ROOT%\depends.pri +goto bottom2 + +:nomake +if "%1"=="fcgi" set FCGI=0 +echo QXT_BUILD -= %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:prefix +echo QXTINSTALLDIR = %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:libdir +echo target.path = %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:docdir +echo docs.path = %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:headerdir +echo include.path = %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:bindir +echo bin.path = %1 >> %PROJECT_ROOT%\config.in +goto bottom2 + +:static +echo CONFIG += static staticlib >> %PROJECT_ROOT%\config.in +goto bottom + +:debug +echo CONFIG += debug >> %PROJECT_ROOT%\config.in +goto bottom + +:release +echo CONFIG += release >> %PROJECT_ROOT%\config.in +goto bottom + +:noopenssl +set OPENSSL=0 +echo QXT_LIBS -= openssl >> %PROJECT_ROOT%\config.in +goto bottom + +:msvc +set MSVCMODE=-tp vc +goto bottom + +:bottom2 + shift +:bottom + shift +goto top + +:help + echo Usage: configure [-prefix (dir)] [-libdir (dir)] [-docdir (dir)] + echo [-bindir (dir)] [-headerdir (dir)] [-qmake-bin (path)] + echo [-static] [-debug] [-release] [-no-stability-unknown] + echo [-no-openssl] [-nomake (module)] [-msvc] + echo. + echo Installation options: + echo. + echo -prefix (dir) ....... This will install everything relative to (dir) + echo default: C:\libqxt + echo -libdir (dir) ....... Libraries will be installed to (dir) + echo default: PREFIX/lib + echo -docdir (dir) ....... Documentation will be installed to (dir) + echo default: PREFIX/share/doc + echo -bindir (dir) ....... Executables will be installed to (dir) + echo default: PREFIX/bin + echo -headerdir (dir) .... Include files will be installed to (dir) + echo default: PREFIX/include + echo -qmake-bin (path) ... Specifies the path to the qmake executable + echo default: search the system path + echo -L (path)............ Specifies the a additional library search path + echo -I (path)............ Specifies the a additional include search path + echo -l (path)............ Add a custom library + echo -static ............. Compile Qxt as a static library + echo -debug .............. Build Qxt with debugging symbols + echo -release ............ Build Qxt without debugging support + echo -no-openssl ......... Do not link to OpenSSL + echo -nomake (module) .... Do not compile the specified module + echo options: network gui sql media web designer + echo -msvc ............... Configure Qxt to use Microsoft Visual Studio + + del %PROJECT_ROOT%\config.in + goto end + +:finish +echo Testing for qmake... +qmake -v >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto qmakeERR +goto qmakeOK +:qmakeERR +echo You don't seem to have 'qmake' in your PATH. +echo Cannot proceed. +goto end + +:qmakeOK +if "%QMAKESPEC%" == "win32-msvc" goto testnmake +if "%QMAKESPEC%" == "win32-msvc.net" goto testnmake +if "%QMAKESPEC%" == "win32-msvc2005" goto testnmake + +:testmingw +echo Testing for mingw32-make... +call mingw32-make -v >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto testnmake +echo Using mingw32-make. +SET MAKE=mingw32-make +GOTO detectTools_end_test_make + +:testnmake +if "%QMAKESPEC%" == "win32-g++" goto testgmake +echo Testing for nmake... +call nmake /? >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto testgmake +echo Using nmake. +SET MAKE=nmake +GOTO detectTools_end_test_make + +:testgmake +echo Testing for GNU make... +call make -v >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto missingmake +echo Using GNU make. +SET MAKE=make +GOTO detectTools_end_test_make + +:missingmake +echo You don't seem to have 'mingw32-make', 'nmake' or 'make' in your PATH. +echo Cannot proceed. +goto end + +:detectTools_end_test_make +if "%OPENSSL%"=="0" goto detectfcgi +echo Testing for OpenSSL... +echo OpenSSL... >> %PROJECT_ROOT%\%CONFIG_LOG% +cd %TESTDIR%\openssl +%QMAKE% >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto opensslfailed +call %MAKE% clean >> %PROJECT_ROOT%\%CONFIG_LOG% +call %MAKE% >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto opensslfailed +set OPENSSL=1 +goto detectfcgi + +:opensslfailed +set OPENSSL=0 +echo QXT_LIBS -= openssl >> %PROJECT_ROOT%\config.in + +:detectfcgi +if "%FCGI%"=="0" goto skipfcgitest +echo Testing for FastCGI... +echo fcgi... >> %PROJECT_ROOT%\%CONFIG_LOG% +cd %TESTDIR%\fcgi +%QMAKE% >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto fcgifailed +call %MAKE% clean >> %PROJECT_ROOT%\%CONFIG_LOG% +call %MAKE% >> %PROJECT_ROOT%\%CONFIG_LOG% +if errorlevel 1 goto fcgifailed +set FCGI=1 +goto alltestsok + +:fcgifailed +set FCGI=0 +echo QXT_BUILD -= fcgi >> %PROJECT_ROOT%\config.in + +:skipfcgitest +:alltestsok +cd %PROJECT_ROOT% + +echo Configuration successful. +if "%OPENSSL%"=="1" echo OpenSSL enabled. +if "%OPENSSL%"=="0" echo OpenSSL disabled. +if "%FCGI%"=="1" echo FastCGI enabled. +if "%FCGI%"=="0" echo FastCGI disabled. +echo Generating makefiles... +copy %PROJECT_ROOT%\config.pri %PROJECT_ROOT%\config.pri.bak >> %PROJECT_ROOT%\%CONFIG_LOG% +copy %PROJECT_ROOT%\config.in %PROJECT_ROOT%\config.pri >> %PROJECT_ROOT%\%CONFIG_LOG% +del %PROJECT_ROOT%\config.in >> %PROJECT_ROOT%\%CONFIG_LOG% +%QMAKE% %MSVCMODE% -recursive +if errorlevel 1 goto mainqmakeERR + +echo Makefiles generated. Run %MAKE% now. +goto end + +:mainqmakeERR +echo Error running qmake. Cannot proceed. +goto end + +:end diff --git a/src/contrib/libqxt-2007-10-24/cpl1.0.txt b/src/contrib/libqxt-2007-10-24/cpl1.0.txt new file mode 100644 index 00000000..c448ea00 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/cpl1.0.txt @@ -0,0 +1,213 @@ + + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and + +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are +distributed by that particular Contributor. A Contribution 'originates' from a +Contributor if it was added to the Program by such Contributor itself or anyone +acting on such Contributor's behalf. Contributions do not include additions to +the Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) are not +derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free copyright license to +reproduce, prepare derivative works of, publicly display, publicly perform, +distribute and sublicense the Contribution of such Contributor, if any, and such +derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed +Patents to make, use, sell, offer to sell, import and otherwise transfer the +Contribution of such Contributor, if any, in source code and object code form. +This patent license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, such +addition of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other combinations +which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses +to its Contributions set forth herein, no assurances are provided by any +Contributor that the Program does not infringe the patent or other intellectual +property rights of any other entity. Each Contributor disclaims any liability to +Recipient for claims brought by any other entity based on infringement of +intellectual property rights or otherwise. As a condition to exercising the +rights and licenses granted hereunder, each Recipient hereby assumes sole +responsibility to secure any other intellectual property rights needed, if any. +For example, if a third party patent license is required to allow Recipient to +distribute the Program, it is Recipient's responsibility to acquire that license +before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright license set +forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its +own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title and +non-infringement, and implied warranties or conditions of merchantability and +fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for +damages, including direct, indirect, special, incidental and consequential +damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered +by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such +Contributor, and informs licensees how to obtain it in a reasonable manner on or +through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the +Program. + +Each Contributor must identify itself as the originator of its Contribution, if +any, in a manner that reasonably allows subsequent Recipients to identify the +originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, if +a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, damages +and costs (collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to the +extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor to +control, and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may participate in +any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If that +Commercial Contributor then makes performance claims, or offers warranties +related to Product X, those performance claims and warranties are such +Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its exercise of +rights under this Agreement, including but not limited to the risks and costs of +program errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable +law, it shall not affect the validity or enforceability of the remainder of the +terms of this Agreement, and without further action by the parties hereto, such +provision shall be reformed to the minimum extent necessary to make such +provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to +a patent applicable to software (including a cross-claim or counterclaim in a +lawsuit), then any patent licenses granted by that Contributor to such Recipient +under this Agreement shall terminate as of the date such litigation is filed. In +addition, if Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the Program +itself (excluding combinations of the Program with other software or hardware) +infringes such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to time. +No one other than the Agreement Steward has the right to modify this Agreement. +IBM is the initial Agreement Steward. IBM may assign the responsibility to serve +as the Agreement Steward to a suitable separate entity. Each new version of the +Agreement will be given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the Agreement +is published, Contributor may elect to distribute the Program (including its +Contributions) under the new version. Except as expressly stated in Sections +2(a) and 2(b) above, Recipient receives no rights or licenses to the +intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial in +any resulting litigation. diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtCore b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtCore new file mode 100644 index 00000000..a6a10948 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtCore @@ -0,0 +1,16 @@ +#include "qxterror.h" +#include "qxtfifo.h" +#include "qxthypermacros.h" +#include "qxtnull.h" +#include "qxtnullable.h" +#include "qxtpimpl.h" +#include "qxtsemaphore.h" +#include "qxtstdio.h" +#include "qxttuple.h" +#include "qxtstdstreambufdevice.h" +#include "qxtsignalwaiter.h" +#include "qxtmetaobject.h" +#include "qxtjob.h" +#include "qxtslotjob.h" +#include "qxtpipe.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtError b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtError new file mode 100644 index 00000000..62c8d6e0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtError @@ -0,0 +1,2 @@ +#include "qxterror.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFifo b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFifo new file mode 100644 index 00000000..be9ec89b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFifo @@ -0,0 +1,2 @@ +#include "qxtfifo.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFileLock b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFileLock new file mode 100644 index 00000000..06102a9a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFileLock @@ -0,0 +1,2 @@ +#include "qxtfilelock.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFuture b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFuture new file mode 100644 index 00000000..be7e8aa5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtFuture @@ -0,0 +1,2 @@ +#include "qxtslotjob.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtHyperMacros b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtHyperMacros new file mode 100644 index 00000000..e43bd34d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtHyperMacros @@ -0,0 +1,2 @@ +#include "qxthypermacros.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtJob b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtJob new file mode 100644 index 00000000..59db6521 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtJob @@ -0,0 +1,2 @@ +#include "qxtjob.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtMetaObject b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtMetaObject new file mode 100644 index 00000000..143720e8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtMetaObject @@ -0,0 +1,2 @@ +#include "qxtmetaobject.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNull b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNull new file mode 100644 index 00000000..69c635e6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNull @@ -0,0 +1,2 @@ +#include "qxtnull.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNullable b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNullable new file mode 100644 index 00000000..a08ca314 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtNullable @@ -0,0 +1,2 @@ +#include "qxtnullable.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPimpl b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPimpl new file mode 100644 index 00000000..c65b019e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPimpl @@ -0,0 +1,2 @@ +#include "qxtpimpl.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPipe b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPipe new file mode 100644 index 00000000..ec7f5eba --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtPipe @@ -0,0 +1,2 @@ +#include "qxtpipe.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSemaphore b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSemaphore new file mode 100644 index 00000000..cd1aba8b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSemaphore @@ -0,0 +1,2 @@ +#include "qxtsemaphore.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSignalWaiter b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSignalWaiter new file mode 100644 index 00000000..1796012f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSignalWaiter @@ -0,0 +1,2 @@ +#include "qxtsignalwaiter.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSlotJob b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSlotJob new file mode 100644 index 00000000..be7e8aa5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtSlotJob @@ -0,0 +1,2 @@ +#include "qxtslotjob.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdStreambufDevice b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdStreambufDevice new file mode 100644 index 00000000..7266bf5d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdStreambufDevice @@ -0,0 +1,2 @@ +#include "qxtstdstreambufdevice.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdio b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdio new file mode 100644 index 00000000..b74c46bc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtStdio @@ -0,0 +1,2 @@ +#include "qxtstdio.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtTuple b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtTuple new file mode 100644 index 00000000..a379d239 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCore/QxtTuple @@ -0,0 +1,2 @@ +#include "qxttuple.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtBlowFish b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtBlowFish new file mode 100644 index 00000000..b78dc0b0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtBlowFish @@ -0,0 +1,2 @@ +#include "qxtblowfish.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtCrypto b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtCrypto new file mode 100644 index 00000000..71cdfc03 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtCrypto @@ -0,0 +1,2 @@ +#include "qxthash.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtHash b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtHash new file mode 100644 index 00000000..71cdfc03 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCrypto/QxtHash @@ -0,0 +1,2 @@ +#include "qxthash.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtCurses/QxtCurses b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCurses/QxtCurses new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtCurses/QxtCurses @@ -0,0 +1 @@ + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtApplication b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtApplication new file mode 100644 index 00000000..f69aaeff --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtApplication @@ -0,0 +1,2 @@ +#include "qxtapplication.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtCheckComboBox b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtCheckComboBox new file mode 100644 index 00000000..553811c7 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtCheckComboBox @@ -0,0 +1,2 @@ +#include "qxtcheckcombobox.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfigDialog b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfigDialog new file mode 100644 index 00000000..8ed98d4a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfigDialog @@ -0,0 +1,2 @@ +#include "qxtconfigdialog.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfirmationMessage b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfirmationMessage new file mode 100644 index 00000000..b5060cdf --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtConfirmationMessage @@ -0,0 +1,2 @@ +#include "qxtconfirmationmessage.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDesktopWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDesktopWidget new file mode 100644 index 00000000..6a8a5e4a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDesktopWidget @@ -0,0 +1,2 @@ +#include "qxtdesktopwidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDockWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDockWidget new file mode 100644 index 00000000..04a55790 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtDockWidget @@ -0,0 +1 @@ +#include "qxtdockwidget.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGroupBox b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGroupBox new file mode 100644 index 00000000..a4c3f109 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGroupBox @@ -0,0 +1 @@ +#include "qxtgroupbox.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGui b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGui new file mode 100644 index 00000000..601c2e47 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtGui @@ -0,0 +1,3 @@ +#include "qxtgui.h" + + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtHeaderView b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtHeaderView new file mode 100644 index 00000000..c79d6de4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtHeaderView @@ -0,0 +1,2 @@ +#include "qxtheaderview.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtItemDelegate b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtItemDelegate new file mode 100644 index 00000000..1b4b81b5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtItemDelegate @@ -0,0 +1,2 @@ +#include "qxtitemdelegate.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtLabel b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtLabel new file mode 100644 index 00000000..e21fea5d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtLabel @@ -0,0 +1,2 @@ +#include "qxtlabel.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidget new file mode 100644 index 00000000..9daade77 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidget @@ -0,0 +1,2 @@ +#include "qxtlistwidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidgetItem b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidgetItem new file mode 100644 index 00000000..0535d0fc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtListWidgetItem @@ -0,0 +1,2 @@ +#include "qxtlistwidgetitem.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtNativeEventFilter b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtNativeEventFilter new file mode 100644 index 00000000..5a63c3d0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtNativeEventFilter @@ -0,0 +1,2 @@ +#include "qxtnativeeventfilter.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProgressLabel b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProgressLabel new file mode 100644 index 00000000..7b6bcd05 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProgressLabel @@ -0,0 +1 @@ +#include "qxtprogresslabel.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProxyStyle b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProxyStyle new file mode 100644 index 00000000..6ea8e846 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtProxyStyle @@ -0,0 +1,2 @@ +#include "qxtproxystyle.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtPushButton b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtPushButton new file mode 100644 index 00000000..70314dc2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtPushButton @@ -0,0 +1,2 @@ +#include "qxtpushbutton.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtSpanSlider b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtSpanSlider new file mode 100644 index 00000000..690ef9d0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtSpanSlider @@ -0,0 +1,2 @@ +#include "qxtspanslider.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStars b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStars new file mode 100644 index 00000000..ffc81346 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStars @@ -0,0 +1 @@ +#include "qxtstars.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringSpinBox b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringSpinBox new file mode 100644 index 00000000..6d4897f0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringSpinBox @@ -0,0 +1,2 @@ +#include "qxtstringspinbox.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringValidator b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringValidator new file mode 100644 index 00000000..87307647 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtStringValidator @@ -0,0 +1 @@ +#include "qxtstringvalidator.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTabWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTabWidget new file mode 100644 index 00000000..31e48c60 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTabWidget @@ -0,0 +1,2 @@ +#include "qxttabwidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidget new file mode 100644 index 00000000..31a0bcc4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidget @@ -0,0 +1,2 @@ +#include "qxttablewidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidgetItem b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidgetItem new file mode 100644 index 00000000..1b5bd531 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTableWidgetItem @@ -0,0 +1,2 @@ +#include "qxttablewidgetitem.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtToolTip b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtToolTip new file mode 100644 index 00000000..d35b9a5d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtToolTip @@ -0,0 +1 @@ +#include "qxttooltip.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidget new file mode 100644 index 00000000..2615c9bb --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidget @@ -0,0 +1,2 @@ +#include "qxttreewidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidgetItem b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidgetItem new file mode 100644 index 00000000..cfff2916 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtGui/QxtTreeWidgetItem @@ -0,0 +1,2 @@ +#include "qxttreewidgetitem.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtCsvModel b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtCsvModel new file mode 100644 index 00000000..28441ea5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtCsvModel @@ -0,0 +1,2 @@ +#include "QxtCsvModel.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtEventThread b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtEventThread new file mode 100644 index 00000000..4c3e4e36 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtEventThread @@ -0,0 +1,2 @@ +#include "QxtEventThread.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtKit b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtKit new file mode 100644 index 00000000..e9a3a81f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtKit @@ -0,0 +1,7 @@ + +#include "QxtSignalWaiter.h" +#include "QxtTrippleList.h" +#include "QxtPairList.h" +#include "QxtEventThread.h" +#include "QxtCsvModel.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtPairList b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtPairList new file mode 100644 index 00000000..d3071706 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtPairList @@ -0,0 +1,2 @@ +#include "QxtPairList.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtSignalWaiter b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtSignalWaiter new file mode 100644 index 00000000..2eb5524b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtSignalWaiter @@ -0,0 +1,2 @@ +#include "QxtSignalWaiter.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtTrippleList b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtTrippleList new file mode 100644 index 00000000..9e2a5c35 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtKit/QxtTrippleList @@ -0,0 +1,2 @@ +#include "QxtTrippleList.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVFile b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVFile new file mode 100644 index 00000000..09da7615 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVFile @@ -0,0 +1,2 @@ +#include "QxtAVFile.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVPlayer b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVPlayer new file mode 100644 index 00000000..5dc395ef --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtAVPlayer @@ -0,0 +1,2 @@ +#include "QxtAVPlayer.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtMedia b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtMedia new file mode 100644 index 00000000..37cb5730 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtMedia @@ -0,0 +1,4 @@ + +#include "QxtAVPlayer.h" +#include "QxtRingBuffer.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtRingBuffer b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtRingBuffer new file mode 100644 index 00000000..d9c1cf2d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtRingBuffer @@ -0,0 +1,2 @@ +#include "QxtRingBuffer.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtSdlWidget b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtSdlWidget new file mode 100644 index 00000000..e2f9827b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtMedia/QxtSdlWidget @@ -0,0 +1,2 @@ +#include "QxtSdlWidget.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtBlowFish b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtBlowFish new file mode 100644 index 00000000..b78dc0b0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtBlowFish @@ -0,0 +1,2 @@ +#include "qxtblowfish.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNamedPipe b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNamedPipe new file mode 100644 index 00000000..e9c3fcac --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNamedPipe @@ -0,0 +1,2 @@ +#include "qxtnamedpipe.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNetwork b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNetwork new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtNetwork @@ -0,0 +1,2 @@ + + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtRPCPeer b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtRPCPeer new file mode 100644 index 00000000..f9a10c5f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtNetwork/QxtRPCPeer @@ -0,0 +1,2 @@ +#include "qxtrpcpeer.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSql b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSql new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSql @@ -0,0 +1,2 @@ + + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackage b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackage new file mode 100644 index 00000000..bfb48432 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackage @@ -0,0 +1,2 @@ +#include "qxtsqlpackage.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackageModel b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackageModel new file mode 100644 index 00000000..c92590c2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtSql/QxtSqlPackageModel @@ -0,0 +1,2 @@ +#include "qxtsqlpackagemodel.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtFcgiConnector b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtFcgiConnector new file mode 100644 index 00000000..65dd3a8a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtFcgiConnector @@ -0,0 +1,2 @@ +#include "qxtfcgiconnector.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtHtmlTemplate b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtHtmlTemplate new file mode 100644 index 00000000..8493b086 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtHtmlTemplate @@ -0,0 +1,2 @@ +#include "qxthtmltemplate.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtScgiConnector b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtScgiConnector new file mode 100644 index 00000000..fcce3b4b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtScgiConnector @@ -0,0 +1 @@ +#include "qxtscgiconnector.h" diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWeb b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWeb new file mode 100644 index 00000000..2a5c789b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWeb @@ -0,0 +1,7 @@ +#include "qxthtmltemplate.h" + +#include "qxtscgiconnector.h" +#include "qxtwebcontroller.h" + +#include "qxtwebcore.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebController b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebController new file mode 100644 index 00000000..aad2d41f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebController @@ -0,0 +1,2 @@ +#include "qxtwebcontroller.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebCore b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebCore new file mode 100644 index 00000000..bc9f162e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/include/QxtWeb/QxtWebCore @@ -0,0 +1,2 @@ +#include "qxtwebcore.h" + diff --git a/src/contrib/libqxt-2007-10-24/deploy/qt/mox.prf b/src/contrib/libqxt-2007-10-24/deploy/qt/mox.prf new file mode 100644 index 00000000..14669077 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/qt/mox.prf @@ -0,0 +1,21 @@ +CONFIG+=qxt + +unix:MOX=$${QXTbin}mox +win32:MOX=$${QXTbin}mox.exe + + +mox.target = mox_metaball$${first(QMAKE_EXT_H)} +mox.output = mox_metaball$${first(QMAKE_EXT_H)} +mox.variable_out = HEADERS +mox.commands = $$MOX $$SOURCES -o mox_metaball$${first(QMAKE_EXT_H)} +mox.input = SOURCES +QMAKE_EXTRA_COMPILERS += mox + +mox_moc.CONFIG = moc_verify +mox_moc.dependency_type = TYPE_C +mox_moc.commands = $$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) mox_metaball$${first(QMAKE_EXT_H)} -o mox_metaball$${first(QMAKE_EXT_CPP)} +mox_moc.output = mox_metaball$${first(QMAKE_EXT_CPP)} +mox_moc.input = HEADERS +mox_moc.depends = mox_metaball$${first(QMAKE_EXT_H)} +mox_moc.variable_out = SOURCES +QMAKE_EXTRA_COMPILERS += mox_moc diff --git a/src/contrib/libqxt-2007-10-24/deploy/qt/qxt.prf.m b/src/contrib/libqxt-2007-10-24/deploy/qt/qxt.prf.m new file mode 100644 index 00000000..a4a0484a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/deploy/qt/qxt.prf.m @@ -0,0 +1,105 @@ + + + + + + + + + + + +#keep the space lines above. nsis needs them, as it can only override bytes + +isEmpty(QXTbase){ + unix:!macx: QXTbase = /usr/local/Qxt + win32: QXTbase = C:/libqxt + macx : +} + +isEmpty(QXTinclude): QXTinclude = $${QXTbase}/include/Qxt/ +isEmpty(QXTbin): QXTbin = $${QXTbase}/bin + +macx { + isEmpty(QXTlib): QXTlib = /Library/Frameworks +} + +!macx { + isEmpty(QXTlib): QXTlib = $${QXTbase}/lib +} + +INCLUDEPATH += $${QXTinclude} +unix:!macx:LIBS += -Wl,-rpath,$${QXTlib} +macx:LIBS += -F$${QXTlib} +LIBS += -L$${QXTlib} + + +contains(QXT, crypto) { + INCLUDEPATH += $${QXTinclude}/QxtCrypto + macx: INCLUDEPATH += $${QXTlib}/QxtCrypto.framework/HEADERS/ + macx: LIBS += -framework QxtCrypto + unix:!macx: LIBS += -lQxtCrypto + win32: LIBS += -lQxtCrypto0 + QXT += core +} +contains(QXT, curses) { + INCLUDEPATH += $${QXTinclude}/QxtCurses + macx: INCLUDEPATH += $${QXTlib}/QxtCurses.framework/HEADERS/ + macx: LIBS += -framework QxtCurses + unix:!macx: LIBS += -lQxtCurses + win32: LIBS += -lQxtCurses0 + QXT += core +} +contains(QXT, web) { + INCLUDEPATH += $${QXTinclude}/QxtWeb + macx: INCLUDEPATH += $${QXTlib}/QxtWeb.framework/HEADERS/ + macx: LIBS += -framework QxtWeb + unix:!macx: LIBS += -lQxtWeb + win32: LIBS += -lQxtWeb0 + QXT += core network + QT += network +} +contains(QXT, gui) { + INCLUDEPATH += $${QXTinclude}/QxtGui + macx: INCLUDEPATH += $${QXTlib}/QxtGui.framework/HEADERS/ + macx: LIBS += -framework QxtGui + unix:!macx: LIBS += -lQxtGui + win32: LIBS += -lQxtGui0 + QXT += core + QT += gui +} +contains(QXT, network) { + INCLUDEPATH += $${QXTinclude}/QxtNetwork + macx: INCLUDEPATH += $${QXTlib}/QxtNetwork.framework/HEADERS/ + macx: LIBS += -framework QxtNetwork + unix:!macx: LIBS += -lQxtNetwork + win32: LIBS += -lQxtNetwork0 + QXT += core + QT += network +} +contains(QXT, sql) { + INCLUDEPATH += $${QXTinclude}/QxtSql + macx: INCLUDEPATH += $${QXTlib}/QxtSql.framework/HEADERS/ + macx: LIBS += -framework QxtSql + unix:!macx: LIBS += -lQxtSql + win32: LIBS += -lQxtSql0 + QXT += core + QT += sql +} +contains(QXT, media) { + INCLUDEPATH += $${QXTinclude}/QxtMedia + macx: INCLUDEPATH += $${QXTlib}/QxtMedia.framework/HEADERS/ + macx: LIBS += -framework QxtMedia + unix:!macx: LIBS += -lQxtMedia + win32: LIBS += -lQxtMedia0 + QXT += core +} +contains(QXT, core) { + INCLUDEPATH += $${QXTinclude}/QxtCore + macx: INCLUDEPATH += $${QXTlib}/QxtCore.framework/HEADERS/ + macx: LIBS += -framework QxtCore + unix:!macx: LIBS += -lQxtCore + win32: LIBS += -lQxtCore0 +} + + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-enum.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-enum.html new file mode 100644 index 00000000..30ed8304 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-enum.html @@ -0,0 +1,114 @@ +
+

Class Reference
+ [ module] +

+
+ + +

+ + More... +

+ +
 #include <>
+ + + + + + + +
+ + + +

Detailed Description

+ +

+ +

+ + + + + + + +

Member Type Documentation

+ +

enum QGraphicsScene::ItemIndexMethod

+ + +

This enum describes the indexing algorithms QGraphicsScene provides for managing positional information about items on the scene.

+ +

+ + + + + + + + + + + + + + + + +
ConstantValueDescription
+ QGraphicsScene::BspTreeIndex + + 0 + A Binary Space Partitioning tree is applied. All QGraphicsScene's item location algorithms are of an order close to logarithmic complexity, by making use of binary search. Adding, moving and removing items is logarithmic. This approach is best for static scenes (i.e., scenes where most items do not move). +
+ + QGraphicsScene::NoIndex + + + -1 + No index is applied. Item location is of linear complexity, as all items on the scene are searched. Adding, moving and removing items, however, is done in constant time. This approach is ideal for dynamic scenes, where many items are added, moved or removed continuously. +
+

+ + + + + + + +

Property Documentation

+

+ + backgroundBrush : + QBrush +

+ +

This property holds the background brush of the scene.

+

Set this property to changes the scene's background to a different color, gradient or texture. The default background brush is Qt::NoBrush. The background is drawn before (behind) the items.

+ + // a blue background scene.setBackgroundBrush(Qt::blue); + +

Access functions:

+
    +
  • QBrush backgroundBrush () const
  • +
  • void setBackgroundBrush ( const QBrush & brush )
  • +
+ + + + + + + +

Member Function Documentation

+ +

+ + QGraphicsScene::QGraphicsScene ( QObject * parent = 0 ) +

+ + +

Constructs a QGraphicsScene object. The parent parameter is passed to QObject's constructor.

diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-impl.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-impl.html new file mode 100644 index 00000000..3aaad95b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-impl.html @@ -0,0 +1,6 @@ +

+ + +

+ + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-members-unroll.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-members-unroll.html new file mode 100644 index 00000000..630fa7aa --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-members-unroll.html @@ -0,0 +1,2 @@ +
  • + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-members.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-members.html new file mode 100644 index 00000000..f111be3c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-members.html @@ -0,0 +1,5 @@ +

    List of All Members for

    + +
      + +
    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-property.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-property.html new file mode 100644 index 00000000..30ed8304 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-property.html @@ -0,0 +1,114 @@ +
    +

    Class Reference
    + [ module] +

    +
    + + +

    + + More... +

    + +
     #include <>
    + + + + + + + +
    + + + +

    Detailed Description

    + +

    + +

    + + + + + + + +

    Member Type Documentation

    + +

    enum QGraphicsScene::ItemIndexMethod

    + + +

    This enum describes the indexing algorithms QGraphicsScene provides for managing positional information about items on the scene.

    + +

    + + + + + + + + + + + + + + + + +
    ConstantValueDescription
    + QGraphicsScene::BspTreeIndex + + 0 + A Binary Space Partitioning tree is applied. All QGraphicsScene's item location algorithms are of an order close to logarithmic complexity, by making use of binary search. Adding, moving and removing items is logarithmic. This approach is best for static scenes (i.e., scenes where most items do not move). +
    + + QGraphicsScene::NoIndex + + + -1 + No index is applied. Item location is of linear complexity, as all items on the scene are searched. Adding, moving and removing items, however, is done in constant time. This approach is ideal for dynamic scenes, where many items are added, moved or removed continuously. +
    +

    + + + + + + + +

    Property Documentation

    +

    + + backgroundBrush : + QBrush +

    + +

    This property holds the background brush of the scene.

    +

    Set this property to changes the scene's background to a different color, gradient or texture. The default background brush is Qt::NoBrush. The background is drawn before (behind) the items.

    + + // a blue background scene.setBackgroundBrush(Qt::blue); + +

    Access functions:

    +
      +
    • QBrush backgroundBrush () const
    • +
    • void setBackgroundBrush ( const QBrush & brush )
    • +
    + + + + + + + +

    Member Function Documentation

    + +

    + + QGraphicsScene::QGraphicsScene ( QObject * parent = 0 ) +

    + + +

    Constructs a QGraphicsScene object. The parent parameter is passed to QObject's constructor.

    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-section-unroll.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-section-unroll.html new file mode 100644 index 00000000..cb349832 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-section-unroll.html @@ -0,0 +1 @@ +
  • diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-section.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-section.html new file mode 100644 index 00000000..763a058b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-section.html @@ -0,0 +1,8 @@ + +

    +
      + +
    +
      +
    • inherited from
    • +
    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class-unroll-inherits.html b/src/contrib/libqxt-2007-10-24/doctemplate/class-unroll-inherits.html new file mode 100644 index 00000000..9bb5bead --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class-unroll-inherits.html @@ -0,0 +1,2 @@ +

    Inherits .

    + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/class.html b/src/contrib/libqxt-2007-10-24/doctemplate/class.html new file mode 100644 index 00000000..0192e922 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/class.html @@ -0,0 +1,31 @@ +
    +

    + Class Reference
    + [ module] +

    +
    + + +

    + + More... +

    + +
     #include <>
    + + + + + + + +
    + + +

    Detailed Description

    +

    + +

    + +

    Member Documentation

    + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/classes-unroll.html b/src/contrib/libqxt-2007-10-24/doctemplate/classes-unroll.html new file mode 100644 index 00000000..480af69f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/classes-unroll.html @@ -0,0 +1 @@ + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/classes.html b/src/contrib/libqxt-2007-10-24/doctemplate/classes.html new file mode 100644 index 00000000..2d392fc1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/classes.html @@ -0,0 +1,13 @@ +
    +

    Qxt's Classes

    +
    + +
    +

    + + +
    +

    +
    + +

    See also Qxt's Modules.

    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/classic.css b/src/contrib/libqxt-2007-10-24/doctemplate/classic.css new file mode 100644 index 00000000..9c4ee169 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/classic.css @@ -0,0 +1,181 @@ +body +{ + color:#333; +} + + +#menu a +{ + display:inline; + color:#6FA013; +} +.sectionlist a,.reflink +{ + font-weight:bold; +} + +#propertylist li +{ + width:50%; + float:left; +} + + +br +{ + clear:both; +} + + +.highlight_normal +{ +} +.highlight_keywordtype +{ + font-weight:bold; + +} +.highlight_stringliteral +{ +} +.code +{ + font-size:0.9em; + padding: 10px; + border: #e7e7e7 1px solid; + background: #f1f1f1; + color: black; +} + +#classlist +{ +text-align:left; +} +#classlist th +{ +background:#ddd; +} + + +.descimg +{ + + + border: 1px solid #ddd; +} + + + + + + + + + + + + +/**by Trolltech*/ + +h3.fn,span.fn +{ + margin-left: 1cm; + text-indent: -1cm; +} + +a:link +{ + color: #6FA013; + text-decoration: none +} + +a:visited +{ + color: #6FA013; + text-decoration: none +} + +td.postheader +{ + font-family: sans-serif +} + +tr.address +{ + font-family: sans-serif +} + +body +{ + background: #ffffff; + color: black +} + +table tr.odd { + background: #f0f0f0; + color: black; +} + +table tr.even { + background: #e4e4e4; + color: black; +} + +table.annotated th { + padding: 3px; + text-align: left +} + +table.annotated td { + padding: 3px; +} + +table tr pre +{ + padding-top: none; + padding-bottom: none; + padding-left: none; + padding-right: none; + border: none; + background: none +} + +tr.qt-style +{ + background: #a2c511; + color: black +} + +body pre +{ + padding: 0.2em; + border: #e7e7e7 1px solid; + background: #f1f1f1; + color: black; +} + +span.preprocessor, span.preprocessor a +{ + color: darkblue; +} + +span.comment +{ + color: darkred; + font-style: italic +} + +span.string,span.char +{ + color: darkgreen; +} + +.subtitle +{ + font-size: 0.8em +} + +.small-subtitle +{ + font-size: 0.65em +} diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/index.html b/src/contrib/libqxt-2007-10-24/doctemplate/index.html new file mode 100644 index 00000000..1422f0ca --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/index.html @@ -0,0 +1,11 @@ +
    +

    Qxt Reference Documentation

    + +

    the Qt eXTension library, provides a suite of cross-platform utility classes to add functionality not readily available in the Qt toolkit by Trolltech, Inc.:

    + +

    our official irc channel is #qxt on irc.freenode.org

    +

    or subscribe to the Mailing List

    + + + +
    \ No newline at end of file diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/logo.png b/src/contrib/libqxt-2007-10-24/doctemplate/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..58ae9b4ff5e6ec022adeb2e473f584cc57831333 GIT binary patch literal 96907 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 z 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

    k4!atGqhSy^VjK}Q9u6vFP!yd&^nIM@_k>UX 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

    4S$mu29@Z^6Zu%)s|6`nf(Z1F>+p1@*E1bGG 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 KMNUMnLSTYcx3$9n literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/module.html b/src/contrib/libqxt-2007-10-24/doctemplate/module.html new file mode 100644 index 00000000..2b548d36 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/module.html @@ -0,0 +1,21 @@ +

    +

    Module

    +
    + +

    + +

    + +
    +

    + + +
    +

    +
    + + + +

    Detailed Description

    +

    To include the definitions of all the module's classes, use the following directive:

    +
     #include <>
    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/modules-unroll.html b/src/contrib/libqxt-2007-10-24/doctemplate/modules-unroll.html new file mode 100644 index 00000000..ea8c1f97 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/modules-unroll.html @@ -0,0 +1 @@ + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/modules.html b/src/contrib/libqxt-2007-10-24/doctemplate/modules.html new file mode 100644 index 00000000..adf20aa1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/modules.html @@ -0,0 +1,27 @@ +
    +

    Qxt's Modules

    +
    + +

    +Qxt consists of several modules, each of which lives in a separate library. +

    + +
    +

    + + +
    +

    +
    + + +

    If you use qmake to build your projects, you can tell qmake to link and include a specific module (this example uses core and gui) by adding the following line to your .pro file:

    + +
    CONFIG  += qxt
    QXT += core gui
    +

    On Windows, if you do not use qmake or the Qxt Integration +you have to +

      +
    1. add {libqxtinstalldir}\include\qxt\QxtCore to your include path
    2. +
    3. add the library QxtCore.lib to your project
    4. +
    +

    See also Qxt's Classes.

    diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qt.tag b/src/contrib/libqxt-2007-10-24/doctemplate/qt.tag new file mode 100644 index 00000000..8d5c8d84 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/qt.tag @@ -0,0 +1,85448 @@ + + + Q3Accel + q3accel.html + + Q3Accel + Q3Accel + ( QWidget * parent, const char * name = 0 ) + + + Q3Accel + Q3Accel-2 + ( QWidget * watch, QObject * parent, const char * name = 0 ) + + + activated + activated + ( int id ) + + + activatedAmbiguously + activatedAmbiguously + ( int id ) + + + clear + clear + () + + + connectItem + connectItem + ( int id, const QObject * receiver, const char * member ) + + + count + count + () + + + disconnectItem + disconnectItem + ( int id, const QObject * receiver, const char * member ) + + + findKey + findKey + ( const QKeySequence & key ) + + + insertItem + insertItem + ( const QKeySequence & key, int id = -1 ) + + + isEnabled + isEnabled + () + + + isItemEnabled + isItemEnabled + ( int id ) + + + key + key + ( int id ) + + + removeItem + removeItem + ( int id ) + + + setEnabled + setEnabled + ( bool enable ) + + + setItemEnabled + setItemEnabled + ( int id, bool enable ) + + + setWhatsThis + setWhatsThis + ( int id, const QString & text ) + + + shortcutKey + shortcutKey + ( const QString & str ) + + + whatsThis + whatsThis + ( int id ) + + + + Q3Action + q3action.html + + Q3Action + Q3Action + ( QObject * parent, const char * name = 0 ) + + + Q3Action + Q3Action-2 + ( const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 ) + + + Q3Action + Q3Action-3 + ( const QIcon & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 ) + + + Q3Action + Q3Action-4 + ( const QString & text, const QIcon & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = false ) + + + Q3Action + Q3Action-5 + ( const QString & text, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = false ) + + + Q3Action + Q3Action-6 + ( QObject * parent, const char * name, bool toggle ) + + + activate + activate + () + + + activated + activated + () + + + addTo + addTo + ( QWidget * w ) + + + addedTo + addedTo + ( QWidget * actionWidget, QWidget * container ) + + + addedTo + addedTo-2 + ( int index, Q3PopupMenu * menu ) + + + removeFrom + removeFrom + ( QWidget * w ) + + + setDisabled + setDisabled + ( bool disable ) + + + toggle + toggle + () + + + toggled + toggled + ( bool on ) + + + + Q3ActionGroup + q3actiongroup.html + + Q3ActionGroup + Q3ActionGroup + ( QObject * parent, const char * name = 0 ) + + + Q3ActionGroup + Q3ActionGroup-2 + ( QObject * parent, const char * name, bool exclusive ) + + + activated + activated + ( Q3Action * action ) + + + add + add + ( Q3Action * action ) + + + addSeparator + addSeparator + () + + + addTo + addTo + ( QWidget * w ) + + + addedTo + addedTo + ( QWidget * actionWidget, QWidget * container, Q3Action * a ) + + + addedTo + addedTo-2 + ( int index, Q3PopupMenu * menu, Q3Action * a ) + + + insert + insert + ( Q3Action * action ) + + + selected + selected + ( Q3Action * action ) + + + + Q3AsciiCache + q3asciicache.html + + Q3AsciiCache + Q3AsciiCache + ( int maxCost = 100, int size = 17, bool caseSensitive = true, bool copyKeys = true ) + + + clear + clear + () + + + count + count + () + + + find + find + ( const char * k, bool ref = true ) + + + insert + insert + ( const char * k, const type * d, int c = 1, int p = 0 ) + + + isEmpty + isEmpty + () + + + maxCost + maxCost + () + + + remove + remove + ( const char * k ) + + + setMaxCost + setMaxCost + ( int m ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( const char * k ) + + + totalCost + totalCost + () + + + operator[] + operator-5b-5d + ( const char * k ) + + + + Q3AsciiCacheIterator + q3asciicacheiterator.html + + Q3AsciiCacheIterator + Q3AsciiCacheIterator + ( const Q3AsciiCache<type> & cache ) + + + Q3AsciiCacheIterator + Q3AsciiCacheIterator-2 + ( const Q3AsciiCacheIterator<type> & ci ) + + + atFirst + atFirst + () + + + atLast + atLast + () + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + toLast + toLast + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + operator-- + operator-- + () + + + operator-= + operator--eq + ( uint jump ) + + + operator= + operator-eq + ( const Q3AsciiCacheIterator<type> & ci ) + + + + Q3AsciiDict + q3asciidict.html + + Q3AsciiDict + Q3AsciiDict + ( int size = 17, bool caseSensitive = true, bool copyKeys = true ) + + + Q3AsciiDict + Q3AsciiDict-2 + ( const Q3AsciiDict<type> & dict ) + + + clear + clear + () + + + count + count + () + + + find + find + ( const char * key ) + + + insert + insert + ( const char * key, const type * item ) + + + isEmpty + isEmpty + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( const char * key ) + + + replace + replace + ( const char * key, const type * item ) + + + resize + resize + ( uint newsize ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( const char * key ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator= + operator-eq + ( const Q3AsciiDict<type> & dict ) + + + operator[] + operator-5b-5d + ( const char * key ) + + + + Q3AsciiDictIterator + q3asciidictiterator.html + + Q3AsciiDictIterator + Q3AsciiDictIterator + ( const Q3AsciiDict<type> & dict ) + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + + Q3Button + q3button.html + + Q3Button + Q3Button + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + drawButton + drawButton + ( QPainter * painter ) + + + drawButtonLabel + drawButtonLabel + ( QPainter * painter ) + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + + Q3ButtonGroup + q3buttongroup.html + + Q3ButtonGroup + Q3ButtonGroup + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3ButtonGroup + Q3ButtonGroup-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + Q3ButtonGroup + Q3ButtonGroup-3 + ( int strips, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + Q3ButtonGroup + Q3ButtonGroup-4 + ( int strips, Qt::Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + clicked + clicked + ( int id ) + + + count + count + () + + + find + find + ( int id ) + + + id + id + ( QAbstractButton * button ) + + + insert + insert + ( QAbstractButton * button, int id = -1 ) + + + pressed + pressed + ( int id ) + + + released + released + ( int id ) + + + remove + remove + ( QAbstractButton * button ) + + + selected + selected + () + + + + Q3Cache + q3cache.html + + Q3Cache + Q3Cache + ( int maxCost = 100, int size = 17, bool caseSensitive = true ) + + + clear + clear + () + + + count + count + () + + + find + find + ( const QString & k, bool ref = true ) + + + insert + insert + ( const QString & k, const type * d, int c = 1, int p = 0 ) + + + isEmpty + isEmpty + () + + + maxCost + maxCost + () + + + remove + remove + ( const QString & k ) + + + setMaxCost + setMaxCost + ( int m ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( const QString & k ) + + + totalCost + totalCost + () + + + operator[] + operator-5b-5d + ( const QString & k ) + + + + Q3CacheIterator + q3cacheiterator.html + + Q3CacheIterator + Q3CacheIterator + ( const Q3Cache<type> & cache ) + + + Q3CacheIterator + Q3CacheIterator-2 + ( const Q3CacheIterator<type> & ci ) + + + atFirst + atFirst + () + + + atLast + atLast + () + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + toLast + toLast + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + operator-- + operator-- + () + + + operator-= + operator--eq + ( uint jump ) + + + operator= + operator-eq + ( const Q3CacheIterator<type> & ci ) + + + + Q3Canvas + q3canvas.html + + Q3Canvas + Q3Canvas + ( QObject * parent = 0, const char * name = 0 ) + + + Q3Canvas + Q3Canvas-2 + ( int w, int h ) + + + Q3Canvas + Q3Canvas-3 + ( QPixmap p, int h, int v, int tilewidth, int tileheight ) + + + advance + advance + () + + + allItems + allItems + () + + + backgroundColor + backgroundColor + () + + + backgroundPixmap + backgroundPixmap + () + + + chunkSize + chunkSize + () + + + collisions + collisions + ( const QPoint & p ) + + + collisions + collisions-2 + ( const QRect & r ) + + + collisions + collisions-3 + ( const Q3PointArray & chunklist, const Q3CanvasItem * item, bool exact ) + + + drawArea + drawArea + ( const QRect & clip, QPainter * painter, bool dbuf = false ) + + + drawBackground + drawBackground + ( QPainter & painter, const QRect & clip ) + + + drawForeground + drawForeground + ( QPainter & painter, const QRect & clip ) + + + height + height + () + + + onCanvas + onCanvas + ( int x, int y ) + + + onCanvas + onCanvas-2 + ( const QPoint & p ) + + + rect + rect + () + + + resize + resize + ( int w, int h ) + + + resized + resized + () + + + retune + retune + ( int chunksze, int mxclusters = 100 ) + + + setAdvancePeriod + setAdvancePeriod + ( int ms ) + + + setAllChanged + setAllChanged + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & c ) + + + setBackgroundPixmap + setBackgroundPixmap + ( const QPixmap & p ) + + + setChanged + setChanged + ( const QRect & area ) + + + setDoubleBuffering + setDoubleBuffering + ( bool y ) + + + setTile + setTile + ( int x, int y, int tilenum ) + + + setTiles + setTiles + ( QPixmap p, int h, int v, int tilewidth, int tileheight ) + + + setUnchanged + setUnchanged + ( const QRect & area ) + + + setUpdatePeriod + setUpdatePeriod + ( int ms ) + + + size + size + () + + + tile + tile + ( int x, int y ) + + + tileHeight + tileHeight + () + + + tileWidth + tileWidth + () + + + tilesHorizontally + tilesHorizontally + () + + + tilesVertically + tilesVertically + () + + + update + update + () + + + validChunk + validChunk + ( int x, int y ) + + + validChunk + validChunk-2 + ( const QPoint & p ) + + + width + width + () + + + + Q3CanvasEllipse + q3canvasellipse.html + + Q3CanvasEllipse + Q3CanvasEllipse + ( Q3Canvas * canvas ) + + + Q3CanvasEllipse + Q3CanvasEllipse-2 + ( int width, int height, Q3Canvas * canvas ) + + + Q3CanvasEllipse + Q3CanvasEllipse-3 + ( int width, int height, int startangle, int angle, Q3Canvas * canvas ) + + + angleLength + angleLength + () + + + angleStart + angleStart + () + + + drawShape + drawShape + ( QPainter & p ) + + + height + height + () + + + rtti + rtti + () + + + setAngles + setAngles + ( int start, int length ) + + + setSize + setSize + ( int width, int height ) + + + width + width + () + + + active + active + () + + + enabled + enabled + () + + + selected + selected + () + + + visible + visible + () + + + + Q3CanvasItem + q3canvasitem.html + + RttiValues + RttiValues-enum + + + + Q3CanvasItem + Q3CanvasItem + ( Q3Canvas * canvas ) + + + advance + advance + ( int phase ) + + + animated + animated + () + + + boundingRect + boundingRect + () + + + boundingRectAdvanced + boundingRectAdvanced + () + + + canvas + canvas + () + + + collidesWith + collidesWith + ( const Q3CanvasItem * other ) + + + collisions + collisions + ( bool exact ) + + + draw + draw + ( QPainter & painter ) + + + hide + hide + () + + + isActive + isActive + () + + + isEnabled + isEnabled + () + + + isSelected + isSelected + () + + + isVisible + isVisible + () + + + move + move + ( double x, double y ) + + + moveBy + moveBy + ( double dx, double dy ) + + + rtti + rtti + () + + + setActive + setActive + ( bool yes ) + + + setAnimated + setAnimated + ( bool y ) + + + setCanvas + setCanvas + ( Q3Canvas * c ) + + + setEnabled + setEnabled + ( bool yes ) + + + setSelected + setSelected + ( bool yes ) + + + setVelocity + setVelocity + ( double vx, double vy ) + + + setVisible + setVisible + ( bool yes ) + + + setX + setX + ( double x ) + + + setXVelocity + setXVelocity + ( double vx ) + + + setY + setY + ( double y ) + + + setYVelocity + setYVelocity + ( double vy ) + + + setZ + setZ + ( double z ) + + + show + show + () + + + update + update + () + + + x + x + () + + + xVelocity + xVelocity + () + + + y + y + () + + + yVelocity + yVelocity + () + + + z + z + () + + + + Q3CanvasItemList + q3canvasitemlist.html + + operator+ + operator-2b + ( const Q3CanvasItemList & l ) + + + + Q3CanvasLine + q3canvasline.html + + Q3CanvasLine + Q3CanvasLine + ( Q3Canvas * canvas ) + + + endPoint + endPoint + () + + + rtti + rtti + () + + + setPoints + setPoints + ( int xa, int ya, int xb, int yb ) + + + startPoint + startPoint + () + + + + Q3CanvasPixmap + q3canvaspixmap.html + + Q3CanvasPixmap + Q3CanvasPixmap + ( const QString & datafilename ) + + + Q3CanvasPixmap + Q3CanvasPixmap-2 + ( const QImage & image ) + + + Q3CanvasPixmap + Q3CanvasPixmap-3 + ( const QPixmap & pm, const QPoint & offset ) + + + offsetX + offsetX + () + + + offsetY + offsetY + () + + + setOffset + setOffset + ( int x, int y ) + + + Q3CanvasPixmapArray + Q3CanvasPixmapArray-3 + ( Q3PtrList<QPixmap> list, Q3PtrList<QPoint> hotspots ) + + + operator! + operator-not + () + + + + Q3CanvasPixmapArray + q3canvaspixmaparray.html + + Q3CanvasPixmapArray + Q3CanvasPixmapArray + () + + + Q3CanvasPixmapArray + Q3CanvasPixmapArray-2 + ( const QString & datafilenamepattern, int fc = 0 ) + + + Q3CanvasPixmapArray + Q3CanvasPixmapArray-4 + ( Q3ValueList<QPixmap> list, Q3PointArray hotspots = Q3PointArray() + + + count + count + () + + + image + image + ( int i ) + + + isValid + isValid + () + + + readCollisionMasks + readCollisionMasks + ( const QString & filename ) + + + readPixmaps + readPixmaps + ( const QString & filenamepattern, int fc = 0 ) + + + setImage + setImage + ( int i, Q3CanvasPixmap * p ) + + + + Q3CanvasPolygon + q3canvaspolygon.html + + Q3CanvasPolygon + Q3CanvasPolygon + ( Q3Canvas * canvas ) + + + areaPoints + areaPoints + () + + + drawShape + drawShape + ( QPainter & p ) + + + points + points + () + + + rtti + rtti + () + + + setPoints + setPoints + ( Q3PointArray pa ) + + + + Q3CanvasPolygonalItem + q3canvaspolygonalitem.html + + Q3CanvasPolygonalItem + Q3CanvasPolygonalItem + ( Q3Canvas * canvas ) + + + areaPoints + areaPoints + () + + + areaPointsAdvanced + areaPointsAdvanced + () + + + boundingRect + boundingRect + () + + + brush + brush + () + + + draw + draw + ( QPainter & p ) + + + drawShape + drawShape + ( QPainter & p ) + + + invalidate + invalidate + () + + + isValid + isValid + () + + + pen + pen + () + + + rtti + rtti + () + + + setBrush + setBrush + ( QBrush b ) + + + setPen + setPen + ( QPen p ) + + + setWinding + setWinding + ( bool enable ) + + + winding + winding + () + + + + Q3CanvasRectangle + q3canvasrectangle.html + + Q3CanvasRectangle + Q3CanvasRectangle + ( Q3Canvas * canvas ) + + + Q3CanvasRectangle + Q3CanvasRectangle-2 + ( const QRect & r, Q3Canvas * canvas ) + + + Q3CanvasRectangle + Q3CanvasRectangle-3 + ( int x, int y, int width, int height, Q3Canvas * canvas ) + + + chunks + chunks + () + + + drawShape + drawShape + ( QPainter & p ) + + + height + height + () + + + rect + rect + () + + + rtti + rtti + () + + + setSize + setSize + ( int width, int height ) + + + size + size + () + + + width + width + () + + + + Q3CanvasSpline + q3canvasspline.html + + Q3CanvasSpline + Q3CanvasSpline + ( Q3Canvas * canvas ) + + + closed + closed + () + + + controlPoints + controlPoints + () + + + rtti + rtti + () + + + setControlPoints + setControlPoints + ( Q3PointArray ctrl, bool close = true ) + + + + Q3CanvasSprite + q3canvassprite.html + + FrameAnimationType + FrameAnimationType-enum + + + + Q3CanvasSprite + Q3CanvasSprite + ( Q3CanvasPixmapArray * a, Q3Canvas * canvas ) + + + advance + advance + ( int phase ) + + + bottomEdge + bottomEdge + () + + + bottomEdge + bottomEdge-2 + ( int ny ) + + + boundingRect + boundingRect + () + + + draw + draw + ( QPainter & painter ) + + + frame + frame + () + + + frameCount + frameCount + () + + + height + height + () + + + image + image + () + + + image + image-2 + ( int f ) + + + imageAdvanced + imageAdvanced + () + + + leftEdge + leftEdge + () + + + leftEdge + leftEdge-2 + ( int nx ) + + + move + move + ( double x, double y ) + + + move + move-2 + ( double nx, double ny, int nf ) + + + rightEdge + rightEdge + () + + + rightEdge + rightEdge-2 + ( int nx ) + + + rtti + rtti + () + + + setFrame + setFrame + ( int f ) + + + setFrameAnimation + setFrameAnimation + ( FrameAnimationType type = Cycle, int step = 1, int state = 0 ) + + + setSequence + setSequence + ( Q3CanvasPixmapArray * a ) + + + topEdge + topEdge + () + + + topEdge + topEdge-2 + ( int ny ) + + + width + width + () + + + + Q3CanvasText + q3canvastext.html + + Q3CanvasText + Q3CanvasText + ( Q3Canvas * canvas ) + + + Q3CanvasText + Q3CanvasText-2 + ( const QString & t, Q3Canvas * canvas ) + + + Q3CanvasText + Q3CanvasText-3 + ( const QString & t, QFont f, Q3Canvas * canvas ) + + + boundingRect + boundingRect + () + + + color + color + () + + + draw + draw + ( QPainter & painter ) + + + font + font + () + + + rtti + rtti + () + + + setColor + setColor + ( const QColor & c ) + + + setFont + setFont + ( const QFont & f ) + + + setText + setText + ( const QString & t ) + + + setTextFlags + setTextFlags + ( int f ) + + + text + text + () + + + textFlags + textFlags + () + + + + Q3CanvasView + q3canvasview.html + + Q3CanvasView + Q3CanvasView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + Q3CanvasView + Q3CanvasView-2 + ( Q3Canvas * canvas, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + canvas + canvas + () + + + drawContents + drawContents + ( QPainter * p, int cx, int cy, int cw, int ch ) + + + inverseWorldMatrix + inverseWorldMatrix + () + + + setCanvas + setCanvas + ( Q3Canvas * canvas ) + + + setWorldMatrix + setWorldMatrix + ( const QMatrix & wm ) + + + sizeHint + sizeHint + () + + + worldMatrix + worldMatrix + () + + + + Q3CheckListItem + q3checklistitem.html + + ToggleState + ToggleState-enum + + + + Type + Type-enum + + + + Q3CheckListItem + Q3CheckListItem + ( Q3CheckListItem * parent, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-2 + ( Q3CheckListItem * parent, Q3ListViewItem * after, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-3 + ( Q3ListViewItem * parent, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-4 + ( Q3ListViewItem * parent, Q3ListViewItem * after, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-5 + ( Q3ListView * parent, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-6 + ( Q3ListView * parent, Q3ListViewItem * after, const QString & text, Type tt = RadioButtonController ) + + + Q3CheckListItem + Q3CheckListItem-7 + ( Q3ListViewItem * parent, const QString & text, const QPixmap & p ) + + + Q3CheckListItem + Q3CheckListItem-8 + ( Q3ListView * parent, const QString & text, const QPixmap & p ) + + + activate + activate + () + + + isOn + isOn + () + + + isTristate + isTristate + () + + + paintCell + paintCell + ( QPainter * p, const QColorGroup & cg, int column, int width, int align ) + + + paintFocus + paintFocus + ( QPainter * p, const QColorGroup & cg, const QRect & r ) + + + rtti + rtti + () + + + setOn + setOn + ( bool b ) + + + setState + setState + ( ToggleState s ) + + + setTristate + setTristate + ( bool b ) + + + state + state + () + + + stateChange + stateChange + ( bool b ) + + + text + text + () + + + turnOffChild + turnOffChild + () + + + type + type + () + + + + Q3CheckTableItem + q3checktableitem.html + + Q3CheckTableItem + Q3CheckTableItem + ( Q3Table * table, const QString & txt ) + + + isChecked + isChecked + () + + + rtti + rtti + () + + + setChecked + setChecked + ( bool b ) + + + + Q3ColorDrag + q3colordrag.html + + Q3ColorDrag + Q3ColorDrag + ( const QColor & col, QWidget * dragsource = 0, const char * name = 0 ) + + + Q3ColorDrag + Q3ColorDrag-2 + ( QWidget * dragsource = 0, const char * name = 0 ) + + + canDecode + canDecode + ( QMimeSource * source ) + + + decode + decode + ( QMimeSource * source, QColor & color ) + + + setColor + setColor + ( const QColor & color ) + + + + Q3ComboBox + q3combobox.html + + Policy + Policy-enum + + + + Q3ComboBox + Q3ComboBox + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3ComboBox + Q3ComboBox-2 + ( bool rw, QWidget * parent = 0, const char * name = 0 ) + + + activated + activated + ( int index ) + + + activated + activated-2 + ( const QString & string ) + + + autoResize + autoResize + () + + + changeItem + changeItem + ( const QString & t, int index ) + + + changeItem + changeItem-2 + ( const QPixmap & im, int index ) + + + changeItem + changeItem-3 + ( const QPixmap & im, const QString & t, int index ) + + + clear + clear + () + + + clearEdit + clearEdit + () + + + clearValidator + clearValidator + () + + + hide + hide + () + + + highlighted + highlighted + ( int index ) + + + highlighted + highlighted-2 + ( const QString & string ) + + + insertItem + insertItem + ( const QString & t, int index = -1 ) + + + insertItem + insertItem-2 + ( const QPixmap & pixmap, int index = -1 ) + + + insertItem + insertItem-3 + ( const QPixmap & pixmap, const QString & text, int index = -1 ) + + + insertStrList + insertStrList + ( const char ** strings, int numStrings = -1, int index = -1 ) + + + insertStrList + insertStrList-2 + ( const Q3StrList & list, int index = -1 ) + + + insertStrList + insertStrList-3 + ( const Q3StrList * list, int index = -1 ) + + + insertStringList + insertStringList + ( const QStringList & list, int index = -1 ) + + + lineEdit + lineEdit + () + + + listBox + listBox + () + + + pixmap + pixmap + ( int index ) + + + popup + popup + () + + + removeItem + removeItem + ( int index ) + + + setAutoResize + setAutoResize + ( bool enable ) + + + setEditText + setEditText + ( const QString & newText ) + + + setEnabled + setEnabled + ( bool enable ) + + + setFont + setFont + ( const QFont & font ) + + + setLineEdit + setLineEdit + ( QLineEdit * edit ) + + + setListBox + setListBox + ( Q3ListBox * newListBox ) + + + setPalette + setPalette + ( const QPalette & palette ) + + + setValidator + setValidator + ( const QValidator * v ) + + + text + text + ( int index ) + + + textChanged + textChanged + ( const QString & string ) + + + updateMask + updateMask + () + + + validator + validator + () + + + + Q3ComboTableItem + q3combotableitem.html + + Q3ComboTableItem + Q3ComboTableItem + ( Q3Table * table, const QStringList & list, bool editable = false ) + + + count + count + () + + + currentItem + currentItem + () + + + currentText + currentText + () + + + isEditable + isEditable + () + + + rtti + rtti + () + + + setCurrentItem + setCurrentItem + ( int i ) + + + setCurrentItem + setCurrentItem-2 + ( const QString & s ) + + + setEditable + setEditable + ( bool b ) + + + setStringList + setStringList + ( const QStringList & l ) + + + text + text + ( int i ) + + + + Q3CString + q3cstring.html + + Q3CString + Q3CString + () + + + Q3CString + Q3CString-2 + ( int size ) + + + Q3CString + Q3CString-3 + ( const Q3CString & s ) + + + Q3CString + Q3CString-4 + ( const QByteArray & ba ) + + + Q3CString + Q3CString-5 + ( const char * str ) + + + Q3CString + Q3CString-6 + ( const char * str, uint maxsize ) + + + append + append + ( const char * str ) + + + copy + copy + () + + + leftJustify + leftJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + lower + lower + () + + + rightJustify + rightJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + setExpand + setExpand + ( uint index, char c ) + + + setNum + setNum + ( double n, char f = 'g', int prec = 6 ) + + + setNum + setNum-2 + ( long n ) + + + setNum + setNum-3 + ( ulong n ) + + + setNum + setNum-4 + ( int n ) + + + setNum + setNum-5 + ( uint n ) + + + setNum + setNum-6 + ( short n ) + + + setNum + setNum-7 + ( ushort n ) + + + setNum + setNum-8 + ( float n, char f = 'g', int prec = 6 ) + + + setStr + setStr + ( const char * str ) + + + simplifyWhiteSpace + simplifyWhiteSpace + () + + + sprintf + sprintf + ( const char * format, ... ) + + + stripWhiteSpace + stripWhiteSpace + () + + + toDouble + toDouble + ( bool * ok = 0 ) + + + toFloat + toFloat + ( bool * ok = 0 ) + + + toInt + toInt + ( bool * ok = 0 ) + + + toLong + toLong + ( bool * ok = 0 ) + + + toShort + toShort + ( bool * ok = 0 ) + + + toUInt + toUInt + ( bool * ok = 0 ) + + + toULong + toULong + ( bool * ok = 0 ) + + + toUShort + toUShort + ( bool * ok = 0 ) + + + upper + upper + () + + + operator= + operator-eq + ( const Q3CString & s ) + + + operator= + operator-eq-2 + ( const QByteArray & ba ) + + + operator= + operator-eq-3 + ( const char * str ) + + + + Q3DataBrowser + q3databrowser.html + + Boundary + Boundary-enum + + + + Q3DataBrowser + Q3DataBrowser + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags fl = 0 ) + + + beforeDelete + beforeDelete + ( QSqlRecord * buf ) + + + beforeInsert + beforeInsert + ( QSqlRecord * buf ) + + + beforeUpdate + beforeUpdate + ( QSqlRecord * buf ) + + + boundary + boundary + () + + + clearValues + clearValues + () + + + Confirm + confirmCancel + Q3DataBrowser::confirmCancel( QSql::Op m ) + + + Confirm + confirmEdit + Q3DataBrowser::confirmEdit( QSql::Op m ) + + + currentChanged + currentChanged + ( const QSqlRecord * record ) + + + currentEdited + currentEdited + () + + + cursorChanged + cursorChanged + ( Q3SqlCursor::Mode mode ) + + + del + del + () + + + deleteCurrent + deleteCurrent + () + + + first + first + () + + + firstRecordAvailable + firstRecordAvailable + ( bool available ) + + + form + form + () + + + handleError + handleError + ( const QSqlError & error ) + + + insert + insert + () + + + insertCurrent + insertCurrent + () + + + last + last + () + + + lastRecordAvailable + lastRecordAvailable + ( bool available ) + + + next + next + () + + + nextRecordAvailable + nextRecordAvailable + ( bool available ) + + + prev + prev + () + + + prevRecordAvailable + prevRecordAvailable + ( bool available ) + + + primeDelete + primeDelete + ( QSqlRecord * buf ) + + + primeInsert + primeInsert + ( QSqlRecord * buf ) + + + primeUpdate + primeUpdate + ( QSqlRecord * buf ) + + + readFields + readFields + () + + + refresh + refresh + () + + + seek + seek + ( int i, bool relative = false ) + + + setForm + setForm + ( Q3SqlForm * form ) + + + setSqlCursor + setSqlCursor + ( Q3SqlCursor * cursor, bool autoDelete = false ) + + + sqlCursor + sqlCursor + () + + + update + update + () + + + updateBoundary + updateBoundary + () + + + updateCurrent + updateCurrent + () + + + writeFields + writeFields + () + + + + Q3DataTable + q3datatable.html + + Refresh + Refresh-enum + + + + DateFormat + dateFormat-prop + + + + Q3DataTable + Q3DataTable + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3DataTable + Q3DataTable-2 + ( Q3SqlCursor * cursor, bool autoPopulate = false, QWidget * parent = 0, const char * name = 0 ) + + + addColumn + addColumn + ( const QString & fieldName, const QString & label = QString() + + + adjustColumn + adjustColumn + ( int col ) + + + autoDelete + autoDelete + () + + + beforeDelete + beforeDelete + ( QSqlRecord * buf ) + + + beforeInsert + beforeInsert + ( QSqlRecord * buf ) + + + beforeUpdate + beforeUpdate + ( QSqlRecord * buf ) + + + beginInsert + beginInsert + () + + + beginUpdate + beginUpdate + ( int row, int col, bool replace ) + + + Confirm + confirmCancel + Q3DataTable::confirmCancel( QSql::Op m ) + + + Confirm + confirmEdit + Q3DataTable::confirmEdit( QSql::Op m ) + + + currentChanged + currentChanged + ( QSqlRecord * record ) + + + currentRecord + currentRecord + () + + + cursorChanged + cursorChanged + ( QSql::Op mode ) + + + deleteCurrent + deleteCurrent + () + + + fieldAlignment + fieldAlignment + ( const QSqlField * field ) + + + find + find + ( const QString & str, bool caseSensitive, bool backwards ) + + + handleError + handleError + ( const QSqlError & e ) + + + indexOf + indexOf + ( uint i ) + + + insertCurrent + insertCurrent + () + + + installEditorFactory + installEditorFactory + ( Q3SqlEditorFactory * f ) + + + installPropertyMap + installPropertyMap + ( Q3SqlPropertyMap * m ) + + + paintField + paintField + ( QPainter * p, const QSqlField * field, const QRect & cr, bool selected ) + + + primeDelete + primeDelete + ( QSqlRecord * buf ) + + + primeInsert + primeInsert + ( QSqlRecord * buf ) + + + primeUpdate + primeUpdate + ( QSqlRecord * buf ) + + + refresh + refresh + ( Refresh mode ) + + + refresh + refresh-2 + () + + + removeColumn + removeColumn + ( int col ) + + + repaintCell + repaintCell + ( int row, int col ) + + + reset + reset + () + + + setAutoDelete + setAutoDelete + ( bool enable ) + + + setColumn + setColumn + ( uint col, const QString & fieldName, const QString & label = QString() + + + setColumnWidth + setColumnWidth + ( int col, int w ) + + + setSize + setSize + ( Q3SqlCursor * sql ) + + + setSqlCursor + setSqlCursor + ( Q3SqlCursor * cursor = 0, bool autoPopulate = false, bool autoDelete = false ) + + + sortAscending + sortAscending + ( int col ) + + + sortColumn + sortColumn + ( int col, bool ascending = true, bool wholeRows = false ) + + + sortDescending + sortDescending + ( int col ) + + + sqlCursor + sqlCursor + () + + + text + text + ( int row, int col ) + + + updateCurrent + updateCurrent + () + + + value + value + ( int row, int col ) + + + + Q3DataView + q3dataview.html + + Q3DataView + Q3DataView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags fl = 0 ) + + + clearValues + clearValues + () + + + form + form + () + + + readFields + readFields + () + + + record + record + () + + + refresh + refresh + ( QSqlRecord * buf ) + + + setForm + setForm + ( Q3SqlForm * form ) + + + setRecord + setRecord + ( QSqlRecord * record ) + + + writeFields + writeFields + () + + + + Q3DateEdit + q3dateedit.html + + Order + Order-enum + + + + Q3DateEdit + Q3DateEdit + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3DateEdit + Q3DateEdit-2 + ( const QDate & date, QWidget * parent = 0, const char * name = 0 ) + + + fix + fix + () + + + sectionFormattedText + sectionFormattedText + ( int sec ) + + + separator + separator + () + + + setDay + setDay + ( int day ) + + + setMonth + setMonth + ( int month ) + + + setRange + setRange + ( const QDate & min, const QDate & max ) + + + setSeparator + setSeparator + ( const QString & s ) + + + setYear + setYear + ( int year ) + + + updateButtons + updateButtons + () + + + valueChanged + valueChanged + ( const QDate & date ) + + + + Q3DateTimeEdit + q3datetimeedit.html + + Q3DateTimeEdit + Q3DateTimeEdit + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3DateTimeEdit + Q3DateTimeEdit-2 + ( const QDateTime & datetime, QWidget * parent = 0, const char * name = 0 ) + + + autoAdvance + autoAdvance + () + + + dateEdit + dateEdit + () + + + setAutoAdvance + setAutoAdvance + ( bool advance ) + + + timeEdit + timeEdit + () + + + valueChanged + valueChanged + ( const QDateTime & datetime ) + + + + Q3DateTimeEditBase + q3datetimeeditbase.html + + + Q3DeepCopy + q3deepcopy.html + + Q3DeepCopy + Q3DeepCopy + () + + + Q3DeepCopy + Q3DeepCopy-2 + ( const T & t ) + + + operator + operator-T + T() + + + operator= + operator-eq + ( const T & t ) + + + + Q3Dict + q3dict.html + + Q3Dict + Q3Dict + ( int size = 17, bool caseSensitive = true ) + + + Q3Dict + Q3Dict-2 + ( const Q3Dict<type> & dict ) + + + clear + clear + () + + + count + count + () + + + find + find + ( const QString & key ) + + + insert + insert + ( const QString & key, const type * item ) + + + isEmpty + isEmpty + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( const QString & key ) + + + replace + replace + ( const QString & key, const type * item ) + + + resize + resize + ( uint newsize ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( const QString & key ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator= + operator-eq + ( const Q3Dict<type> & dict ) + + + operator[] + operator-5b-5d + ( const QString & key ) + + + + Q3DictIterator + q3dictiterator.html + + Q3DictIterator + Q3DictIterator + ( const Q3Dict<type> & dict ) + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + + Q3Dns + q3dns.html + + RecordType + RecordType-enum + + + + Q3Dns + Q3Dns + () + + + Q3Dns + Q3Dns-2 + ( const QString & label, RecordType rr = A ) + + + Q3Dns + Q3Dns-3 + ( const QHostAddress & address, RecordType rr = Ptr ) + + + addresses + addresses + () + + + canonicalName + canonicalName + () + + + hostNames + hostNames + () + + + isWorking + isWorking + () + + + label + label + () + + + mailServers + mailServers + () + + + qualifiedNames + qualifiedNames + () + + + recordType + recordType + () + + + resultsReady + resultsReady + () + + + servers + servers + () + + + setLabel + setLabel + ( const QString & label ) + + + setLabel + setLabel-2 + ( const QHostAddress & address ) + + + setRecordType + setRecordType + ( RecordType rr = A ) + + + texts + texts + () + + + + Q3DockArea + q3dockarea.html + + HandlePosition + HandlePosition-enum + + + + Orientation + orientation-prop + + + + Q3DockArea + Q3DockArea + ( Qt::Orientation o, HandlePosition h = Normal, QWidget * parent = 0, const char * name = 0 ) + + + dockWindowList + dockWindowList + () + + + hasDockWindow + hasDockWindow + ( Q3DockWindow * w, int * index = 0 ) + + + isDockWindowAccepted + isDockWindowAccepted + ( Q3DockWindow * dw ) + + + lineUp + lineUp + ( bool keepNewLines ) + + + moveDockWindow + moveDockWindow + ( Q3DockWindow * w, int index = -1 ) + + + moveDockWindow + moveDockWindow-2 + ( Q3DockWindow * w, const QPoint & p, const QRect & r, bool swap ) + + + removeDockWindow + removeDockWindow + ( Q3DockWindow * w, bool makeFloating, bool swap, bool fixNewLines = true ) + + + setAcceptDockWindow + setAcceptDockWindow + ( Q3DockWindow * dw, bool accept ) + + + + Q3DockWindow + q3dockwindow.html + + CloseMode + CloseMode-enum + + + + Place + Place-enum + + + + Q3DockWindow + Q3DockWindow + ( Place p = InDock, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + Q3DockWindow + Q3DockWindow-2 + ( QWidget * parent, const char * name = 0, Qt::WindowFlags f = 0 ) + + + area + area + () + + + boxLayout + boxLayout + () + + + dock + dock + () + + + fixedExtent + fixedExtent + () + + + isCloseEnabled + isCloseEnabled + () + + + isHorizontalStretchable + isHorizontalStretchable + () + + + isVerticalStretchable + isVerticalStretchable + () + + + Orientation + orientation + Q3DockWindow::orientation() + + + orientationChanged + orientationChanged + ( Qt::Orientation o ) + + + placeChanged + placeChanged + ( Q3DockWindow::Place p ) + + + setFixedExtentHeight + setFixedExtentHeight + ( int h ) + + + setFixedExtentWidth + setFixedExtentWidth + ( int w ) + + + setHorizontalStretchable + setHorizontalStretchable + ( bool b ) + + + setOrientation + setOrientation + ( Qt::Orientation o ) + + + setVerticalStretchable + setVerticalStretchable + ( bool b ) + + + setWidget + setWidget + ( QWidget * w ) + + + undock + undock + ( QWidget * widget ) + + + undock + undock-2 + () + + + visibilityChanged + visibilityChanged + ( bool visible ) + + + widget + widget + () + + + windowTitle + windowTitle + () + + + + Q3DragObject + q3dragobject.html + + DragMode + DragMode-enum + + + + Q3DragObject + Q3DragObject + ( QWidget * dragSource = 0, const char * name = 0 ) + + + drag + drag + () + + + drag + drag-2 + ( DragMode mode ) + + + dragCopy + dragCopy + () + + + dragLink + dragLink + () + + + dragMove + dragMove + () + + + pixmap + pixmap + () + + + pixmapHotSpot + pixmapHotSpot + () + + + setPixmap + setPixmap + ( QPixmap pm, const QPoint & hotspot ) + + + setPixmap + setPixmap-2 + ( QPixmap pm ) + + + source + source + () + + + target + target + () + + + + Q3DropSite + q3dropsite.html + + Q3DropSite + Q3DropSite + ( QWidget * self ) + + + + Q3EditorFactory + q3editorfactory.html + + Q3EditorFactory + Q3EditorFactory + ( QObject * parent = 0 ) + + + createEditor + createEditor + ( QWidget * parent, const QVariant & v ) + + + defaultFactory + defaultFactory + () + + + installDefaultFactory + installDefaultFactory + ( Q3EditorFactory * factory ) + + + + Q3FileDialog + q3filedialog.html + + Mode + Mode-enum + + + + PreviewMode + PreviewMode-enum + + + + ViewMode + ViewMode-enum + + + + Q3FileDialog + Q3FileDialog + ( const QString & dirName, const QString & filter = QString() + + + Q3FileDialog + Q3FileDialog-2 + ( QWidget * parent = 0, const char * name = 0, bool modal = false ) + + + addFilter + addFilter + ( const QString & filter ) + + + addLeftWidget + addLeftWidget + ( QWidget * w ) + + + addRightWidget + addRightWidget + ( QWidget * w ) + + + addToolButton + addToolButton + ( QAbstractButton * b, bool separator = false ) + + + addWidgets + addWidgets + ( QLabel * l, QWidget * w, QPushButton * b ) + + + dir + dir + () + + + dirEntered + dirEntered + ( const QString & directory ) + + + fileHighlighted + fileHighlighted + ( const QString & file ) + + + fileSelected + fileSelected + ( const QString & file ) + + + filesSelected + filesSelected + ( const QStringList & files ) + + + filterSelected + filterSelected + ( const QString & filter ) + + + getExistingDirectory + getExistingDirectory + ( const QString & dir = QString() + + + getOpenFileName + getOpenFileName + ( const QString & startWith = QString() + + + getOpenFileNames + getOpenFileNames + ( const QString & filter = QString() + + + getSaveFileName + getSaveFileName + ( const QString & startWith = QString() + + + iconProvider + iconProvider + () + + + rereadDir + rereadDir + () + + + resortDir + resortDir + () + + + selectAll + selectAll + ( bool b ) + + + setContentsPreview + setContentsPreview + ( QWidget * w, Q3FilePreview * preview ) + + + setDir + setDir + ( const QDir & dir ) + + + setDir + setDir-2 + ( const QString & pathstr ) + + + setFilter + setFilter + ( const QString & newFilter ) + + + setFilters + setFilters + ( const QString & filters ) + + + setFilters + setFilters-2 + ( const char ** types ) + + + setFilters + setFilters-3 + ( const QStringList & types ) + + + setIconProvider + setIconProvider + ( Q3FileIconProvider * provider ) + + + setInfoPreview + setInfoPreview + ( QWidget * w, Q3FilePreview * preview ) + + + setSelectedFilter + setSelectedFilter + ( const QString & mask ) + + + setSelectedFilter + setSelectedFilter-2 + ( int n ) + + + setSelection + setSelection + ( const QString & filename ) + + + setUrl + setUrl + ( const Q3UrlOperator & url ) + + + url + url + () + + + + Q3FileIconProvider + q3fileiconprovider.html + + Q3FileIconProvider + Q3FileIconProvider + ( QObject * parent = 0, const char * name = 0 ) + + + pixmap + pixmap + ( const QFileInfo & info ) + + + + Q3FilePreview + q3filepreview.html + + Q3FilePreview + Q3FilePreview + () + + + previewUrl + previewUrl + ( const Q3Url & url ) + + + + Q3Frame + q3frame.html + + Q3Frame + Q3Frame + ( QWidget * parent, const char * name = 0, Qt::WindowFlags f = 0 ) + + + drawContents + drawContents + ( QPainter * painter ) + + + drawFrame + drawFrame + ( QPainter * p ) + + + frameChanged + frameChanged + () + + + frameWidth + frameWidth + () + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + resizeEvent + resizeEvent + ( QResizeEvent * event ) + + + + Q3Ftp + q3ftp.html + + Command + Command-enum + + + + Error + Error-enum + + + + State + State-enum + + + + Q3Ftp + Q3Ftp + () + + + Q3Ftp + Q3Ftp-2 + ( QObject * parent, const char * name = 0 ) + + + abort + abort + () + + + bytesAvailable + bytesAvailable + () + + + cd + cd + ( const QString & dir ) + + + clearPendingCommands + clearPendingCommands + () + + + close + close + () + + + commandFinished + commandFinished + ( int id, bool error ) + + + commandStarted + commandStarted + ( int id ) + + + connectToHost + connectToHost + ( const QString & host, Q_UINT16 port = 21 ) + + + currentCommand + currentCommand + () + + + currentDevice + currentDevice + () + + + currentId + currentId + () + + + dataTransferProgress + dataTransferProgress + ( int done, int total ) + + + done + done + ( bool error ) + + + error + error + () + + + errorString + errorString + () + + + get + get + ( const QString & file, QIODevice * dev = 0 ) + + + hasPendingCommands + hasPendingCommands + () + + + list + list + ( const QString & dir = QString() + + + listInfo + listInfo + ( const QUrlInfo & i ) + + + login + login + ( const QString & user = QString() + + + mkdir + mkdir + ( const QString & dir ) + + + put + put + ( QIODevice * dev, const QString & file ) + + + put + put-2 + ( const QByteArray & data, const QString & file ) + + + rawCommand + rawCommand + ( const QString & command ) + + + rawCommandReply + rawCommandReply + ( int replyCode, const QString & detail ) + + + readAll + readAll + () + + + readBlock + readBlock + ( char * data, Q_ULONG maxlen ) + + + readyRead + readyRead + () + + + remove + remove + ( const QString & file ) + + + rename + rename + ( const QString & oldname, const QString & newname ) + + + rmdir + rmdir + ( const QString & dir ) + + + state + state + () + + + stateChanged + stateChanged + ( int state ) + + + + Q3Grid + q3grid.html + + Q3Grid + Q3Grid + ( int n, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + Q3Grid + Q3Grid-2 + ( int n, Qt::Orientation orient, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + setSpacing + setSpacing + ( int space ) + + + + Q3GridView + q3gridview.html + + Q3GridView + Q3GridView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + cellGeometry + cellGeometry + ( int row, int column ) + + + cellRect + cellRect + () + + + columnAt + columnAt + ( int x ) + + + dimensionChange + dimensionChange + ( int oldNumRows, int oldNumCols ) + + + ensureCellVisible + ensureCellVisible + ( int row, int column ) + + + gridSize + gridSize + () + + + paintCell + paintCell + ( QPainter * p, int row, int col ) + + + paintEmptyArea + paintEmptyArea + ( QPainter * p, int cx, int cy, int cw, int ch ) + + + repaintCell + repaintCell + ( int row, int column, bool erase = true ) + + + rowAt + rowAt + ( int y ) + + + updateCell + updateCell + ( int row, int column ) + + + + Q3GroupBox + q3groupbox.html + + Orientation + orientation-prop + + + + Q3GroupBox + Q3GroupBox + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3GroupBox + Q3GroupBox-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + Q3GroupBox + Q3GroupBox-3 + ( int strips, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + Q3GroupBox + Q3GroupBox-4 + ( int strips, Qt::Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + addSpace + addSpace + ( int size ) + + + frameStyle + frameStyle + () + + + insideMargin + insideMargin + () + + + insideSpacing + insideSpacing + () + + + setColumnLayout + setColumnLayout + ( int strips, Qt::Orientation direction ) + + + setFrameStyle + setFrameStyle + ( int style ) + + + setInsideMargin + setInsideMargin + ( int m ) + + + setInsideSpacing + setInsideSpacing + ( int s ) + + + + Q3HBox + q3hbox.html + + Q3HBox + Q3HBox + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + Q3HBox + Q3HBox-2 + ( bool horizontal, QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + setSpacing + setSpacing + ( int space ) + + + setStretchFactor + setStretchFactor + ( QWidget * w, int stretch ) + + + + Q3HButtonGroup + q3hbuttongroup.html + + Q3HButtonGroup + Q3HButtonGroup + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3HButtonGroup + Q3HButtonGroup-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + + Q3Header + q3header.html + + Orientation + orientation-prop + + + + Q3Header + Q3Header + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3Header + Q3Header-2 + ( int n, QWidget * parent = 0, const char * name = 0 ) + + + addLabel + addLabel + ( const QString & s, int size = -1 ) + + + addLabel + addLabel-2 + ( const QIcon & icon, const QString & s, int size = -1 ) + + + adjustHeaderSize + adjustHeaderSize + () + + + cellAt + cellAt + ( int pos ) + + + cellPos + cellPos + ( int i ) + + + cellSize + cellSize + ( int i ) + + + clicked + clicked + ( int section ) + + + headerWidth + headerWidth + () + + + iconSet + iconSet + ( int section ) + + + indexChange + indexChange + ( int section, int fromIndex, int toIndex ) + + + isClickEnabled + isClickEnabled + ( int section = -1 ) + + + isResizeEnabled + isResizeEnabled + ( int section = -1 ) + + + label + label + ( int section ) + + + mapToActual + mapToActual + ( int l ) + + + mapToIndex + mapToIndex + ( int section ) + + + mapToLogical + mapToLogical + ( int a ) + + + mapToSection + mapToSection + ( int index ) + + + moveCell + moveCell + ( int fromIdx, int toIdx ) + + + moveSection + moveSection + ( int section, int toIndex ) + + + moved + moved + ( int fromIndex, int toIndex ) + + + paintSection + paintSection + ( QPainter * p, int index, const QRect & fr ) + + + paintSectionLabel + paintSectionLabel + ( QPainter * p, int index, const QRect & fr ) + + + pressed + pressed + ( int section ) + + + released + released + ( int section ) + + + removeLabel + removeLabel + ( int section ) + + + resizeSection + resizeSection + ( int section, int s ) + + + sRect + sRect + ( int index ) + + + sectionAt + sectionAt + ( int pos ) + + + sectionClicked + sectionClicked + ( int index ) + + + sectionHandleDoubleClicked + sectionHandleDoubleClicked + ( int section ) + + + sectionPos + sectionPos + ( int section ) + + + sectionRect + sectionRect + ( int section ) + + + sectionSize + sectionSize + ( int section ) + + + setCellSize + setCellSize + ( int section, int s ) + + + setClickEnabled + setClickEnabled + ( bool enable, int section = -1 ) + + + setLabel + setLabel + ( int section, const QString & s, int size = -1 ) + + + setLabel + setLabel-2 + ( int section, const QIcon & icon, const QString & s, int size = -1 ) + + + setResizeEnabled + setResizeEnabled + ( bool enable, int section = -1 ) + + + setSortIndicator + setSortIndicator + ( int section, Qt::SortOrder order ) + + + setSortIndicator + setSortIndicator-2 + ( int section, bool ascending = true ) + + + sizeChange + sizeChange + ( int section, int oldSize, int newSize ) + + + SortOrder + sortIndicatorOrder + Q3Header::sortIndicatorOrder() + + + sortIndicatorSection + sortIndicatorSection + () + + + + Q3HGroupBox + q3hgroupbox.html + + Q3HGroupBox + Q3HGroupBox + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3HGroupBox + Q3HGroupBox-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + + Q3Http + q3http.html + + Error + Error-enum + + + + State + State-enum + + + + Q3Http + Q3Http + () + + + Q3Http + Q3Http-2 + ( QObject * parent, const char * name = 0 ) + + + Q3Http + Q3Http-3 + ( const QString & hostname, Q_UINT16 port = 80, QObject * parent = 0, const char * name = 0 ) + + + abort + abort + () + + + bytesAvailable + bytesAvailable + () + + + clearPendingRequests + clearPendingRequests + () + + + closeConnection + closeConnection + () + + + currentDestinationDevice + currentDestinationDevice + () + + + currentId + currentId + () + + + currentRequest + currentRequest + () + + + currentSourceDevice + currentSourceDevice + () + + + dataReadProgress + dataReadProgress + ( int done, int total ) + + + dataSendProgress + dataSendProgress + ( int done, int total ) + + + done + done + ( bool error ) + + + error + error + () + + + errorString + errorString + () + + + get + get + ( const QString & path, QIODevice * to = 0 ) + + + hasPendingRequests + hasPendingRequests + () + + + head + head + ( const QString & path ) + + + post + post + ( const QString & path, QIODevice * data, QIODevice * to = 0 ) + + + post + post-2 + ( const QString & path, const QByteArray & data, QIODevice * to = 0 ) + + + readAll + readAll + () + + + readBlock + readBlock + ( char * data, Q_ULONG maxlen ) + + + readyRead + readyRead + ( const Q3HttpResponseHeader & resp ) + + + request + request + ( const Q3HttpRequestHeader & header, QIODevice * data = 0, QIODevice * to = 0 ) + + + request + request-2 + ( const Q3HttpRequestHeader & header, const QByteArray & data, QIODevice * to = 0 ) + + + requestFinished + requestFinished + ( int id, bool error ) + + + requestStarted + requestStarted + ( int id ) + + + responseHeaderReceived + responseHeaderReceived + ( const Q3HttpResponseHeader & resp ) + + + setHost + setHost + ( const QString & hostname, Q_UINT16 port = 80 ) + + + state + state + () + + + stateChanged + stateChanged + ( int state ) + + + + Q3HttpHeader + q3httpheader.html + + Q3HttpHeader + Q3HttpHeader + () + + + Q3HttpHeader + Q3HttpHeader-2 + ( const Q3HttpHeader & header ) + + + Q3HttpHeader + Q3HttpHeader-3 + ( const QString & str ) + + + contentLength + contentLength + () + + + contentType + contentType + () + + + hasContentLength + hasContentLength + () + + + hasContentType + hasContentType + () + + + hasKey + hasKey + ( const QString & key ) + + + isValid + isValid + () + + + keys + keys + () + + + majorVersion + majorVersion + () + + + minorVersion + minorVersion + () + + + removeValue + removeValue + ( const QString & key ) + + + setContentLength + setContentLength + ( int len ) + + + setContentType + setContentType + ( const QString & type ) + + + setValue + setValue + ( const QString & key, const QString & value ) + + + toString + toString + () + + + value + value + ( const QString & key ) + + + operator= + operator-eq + ( const Q3HttpHeader & h ) + + + + Q3HttpRequestHeader + q3httprequestheader.html + + Q3HttpRequestHeader + Q3HttpRequestHeader + () + + + Q3HttpRequestHeader + Q3HttpRequestHeader-2 + ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 ) + + + Q3HttpRequestHeader + Q3HttpRequestHeader-3 + ( const Q3HttpRequestHeader & header ) + + + Q3HttpRequestHeader + Q3HttpRequestHeader-4 + ( const QString & str ) + + + majorVersion + majorVersion + () + + + method + method + () + + + minorVersion + minorVersion + () + + + path + path + () + + + setRequest + setRequest + ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 ) + + + + Q3HttpResponseHeader + q3httpresponseheader.html + + Q3HttpResponseHeader + Q3HttpResponseHeader + () + + + Q3HttpResponseHeader + Q3HttpResponseHeader-4 + ( const Q3HttpResponseHeader & header ) + + + majorVersion + majorVersion + () + + + minorVersion + minorVersion + () + + + reasonPhrase + reasonPhrase + () + + + statusCode + statusCode + () + + + + Q3IconDrag + q3icondrag.html + + Q3IconDrag + Q3IconDrag + ( QWidget * dragSource, const char * name = 0 ) + + + append + append + ( const Q3IconDragItem & i, const QRect & pr, const QRect & tr ) + + + canDecode + canDecode + ( QMimeSource * e ) + + + encodedData + encodedData + ( const char * mime ) + + + + Q3IconDragItem + q3icondragitem.html + + Q3IconDragItem + Q3IconDragItem + () + + + data + data + () + + + setData + setData + ( const QByteArray & d ) + + + + Q3IconView + q3iconview.html + + Arrangement + Arrangement-enum + + + + ComparisonFlags + ComparisonFlags-typedef + + + + ItemTextPos + ItemTextPos-enum + + + + ResizeMode + ResizeMode-enum + + + + SelectionMode + SelectionMode-enum + + + + StringComparisonMode + StringComparisonMode-enum + + + + Q3IconView + Q3IconView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + adjustItems + adjustItems + () + + + arrangeItemsInGrid + arrangeItemsInGrid + ( const QSize & grid, bool update = true ) + + + arrangeItemsInGrid + arrangeItemsInGrid-2 + ( bool update = true ) + + + clear + clear + () + + + clearSelection + clearSelection + () + + + clicked + clicked + ( Q3IconViewItem * item ) + + + clicked + clicked-2 + ( Q3IconViewItem * item, const QPoint & pos ) + + + contextMenuRequested + contextMenuRequested + ( Q3IconViewItem * item, const QPoint & pos ) + + + currentChanged + currentChanged + ( Q3IconViewItem * item ) + + + currentItem + currentItem + () + + + doAutoScroll + doAutoScroll + () + + + doubleClicked + doubleClicked + ( Q3IconViewItem * item ) + + + dragObject + dragObject + () + + + drawBackground + drawBackground + ( QPainter * p, const QRect & r ) + + + drawRubber + drawRubber + ( QPainter * p ) + + + dropped + dropped + ( QDropEvent * e, const Q3ValueList<Q3IconDragItem> & lst ) + + + emitSelectionChanged + emitSelectionChanged + ( Q3IconViewItem * i = 0 ) + + + ensureItemVisible + ensureItemVisible + ( Q3IconViewItem * item ) + + + findFirstVisibleItem + findFirstVisibleItem + ( const QRect & r ) + + + findItem + findItem + ( const QPoint & pos ) + + + findItem + findItem-3 + ( const QString & text, ComparisonFlags compare = BeginsWith | Qt::CaseSensitive ) + + + findLastVisibleItem + findLastVisibleItem + ( const QRect & r ) + + + firstItem + firstItem + () + + + index + index + ( const Q3IconViewItem * item ) + + + insertInGrid + insertInGrid + ( Q3IconViewItem * item ) + + + insertItem + insertItem + ( Q3IconViewItem * item, Q3IconViewItem * after = 0L ) + + + invertSelection + invertSelection + () + + + isRenaming + isRenaming + () + + + itemRenamed + itemRenamed + ( Q3IconViewItem * item, const QString & name ) + + + itemRenamed + itemRenamed-2 + ( Q3IconViewItem * item ) + + + lastItem + lastItem + () + + + makeRowLayout + makeRowLayout + ( Q3IconViewItem * begin, int & y, bool & changed ) + + + mouseButtonClicked + mouseButtonClicked + ( int button, Q3IconViewItem * item, const QPoint & pos ) + + + mouseButtonPressed + mouseButtonPressed + ( int button, Q3IconViewItem * item, const QPoint & pos ) + + + moved + moved + () + + + onItem + onItem + ( Q3IconViewItem * item ) + + + onViewport + onViewport + () + + + pressed + pressed + ( Q3IconViewItem * item ) + + + pressed + pressed-2 + ( Q3IconViewItem * item, const QPoint & pos ) + + + repaintItem + repaintItem + ( Q3IconViewItem * item ) + + + repaintSelectedItems + repaintSelectedItems + () + + + returnPressed + returnPressed + ( Q3IconViewItem * item ) + + + rightButtonClicked + rightButtonClicked + ( Q3IconViewItem * item, const QPoint & pos ) + + + rightButtonPressed + rightButtonPressed + ( Q3IconViewItem * item, const QPoint & pos ) + + + selectAll + selectAll + ( bool select ) + + + selectionChanged + selectionChanged + () + + + selectionChanged + selectionChanged-2 + ( Q3IconViewItem * item ) + + + setCurrentItem + setCurrentItem + ( Q3IconViewItem * item ) + + + setSelected + setSelected + ( Q3IconViewItem * item, bool s, bool cb = false ) + + + setSorting + setSorting + ( bool sort, bool ascending = true ) + + + slotUpdate + slotUpdate + () + + + sort + sort + ( bool ascending = true ) + + + startDrag + startDrag + () + + + takeItem + takeItem + ( Q3IconViewItem * item ) + + + + Q3IconViewItem + q3iconviewitem.html + + Q3IconViewItem + Q3IconViewItem + ( Q3IconView * parent ) + + + Q3IconViewItem + Q3IconViewItem-2 + ( Q3IconView * parent, Q3IconViewItem * after ) + + + Q3IconViewItem + Q3IconViewItem-3 + ( Q3IconView * parent, const QString & text ) + + + Q3IconViewItem + Q3IconViewItem-4 + ( Q3IconView * parent, Q3IconViewItem * after, const QString & text ) + + + Q3IconViewItem + Q3IconViewItem-5 + ( Q3IconView * parent, const QString & text, const QPixmap & icon ) + + + Q3IconViewItem + Q3IconViewItem-6 + ( Q3IconView * parent, Q3IconViewItem * after, const QString & text, const QPixmap & icon ) + + + Q3IconViewItem + Q3IconViewItem-7 + ( Q3IconView * parent, const QString & text, const QPicture & picture ) + + + Q3IconViewItem + Q3IconViewItem-8 + ( Q3IconView * parent, Q3IconViewItem * after, const QString & text, const QPicture & picture ) + + + acceptDrop + acceptDrop + ( const QMimeSource * mime ) + + + calcRect + calcRect + ( const QString & text_ = QString() + + + compare + compare + ( Q3IconViewItem * i ) + + + contains + contains + ( const QPoint & pnt ) + + + dragEnabled + dragEnabled + () + + + dragEntered + dragEntered + () + + + dragLeft + dragLeft + () + + + dropEnabled + dropEnabled + () + + + dropped + dropped + ( QDropEvent * e, const Q3ValueList<Q3IconDragItem> & lst ) + + + height + height + () + + + iconView + iconView + () + + + index + index + () + + + intersects + intersects + ( const QRect & r ) + + + isSelectable + isSelectable + () + + + isSelected + isSelected + () + + + key + key + () + + + move + move + ( int x, int y ) + + + move + move-2 + ( const QPoint & pnt ) + + + moveBy + moveBy + ( int dx, int dy ) + + + moveBy + moveBy-2 + ( const QPoint & pnt ) + + + nextItem + nextItem + () + + + paintFocus + paintFocus + ( QPainter * p, const QColorGroup & cg ) + + + paintItem + paintItem + ( QPainter * p, const QColorGroup & cg ) + + + picture + picture + () + + + pixmap + pixmap + () + + + pixmapRect + pixmapRect + ( bool relative = true ) + + + pos + pos + () + + + prevItem + prevItem + () + + + rect + rect + () + + + removeRenameBox + removeRenameBox + () + + + rename + rename + () + + + renameEnabled + renameEnabled + () + + + repaint + repaint + () + + + rtti + rtti + () + + + setDragEnabled + setDragEnabled + ( bool allow ) + + + setDropEnabled + setDropEnabled + ( bool allow ) + + + setItemRect + setItemRect + ( const QRect & r ) + + + setKey + setKey + ( const QString & k ) + + + setPicture + setPicture + ( const QPicture & icon ) + + + setPixmap + setPixmap + ( const QPixmap & icon ) + + + setPixmap + setPixmap-2 + ( const QPixmap & icon, bool recalc, bool redraw = true ) + + + setPixmapRect + setPixmapRect + ( const QRect & r ) + + + setRenameEnabled + setRenameEnabled + ( bool allow ) + + + setSelectable + setSelectable + ( bool enable ) + + + setSelected + setSelected + ( bool s, bool cb ) + + + setSelected + setSelected-2 + ( bool s ) + + + setText + setText + ( const QString & text ) + + + setText + setText-2 + ( const QString & text, bool recalc, bool redraw = true ) + + + setTextRect + setTextRect + ( const QRect & r ) + + + size + size + () + + + text + text + () + + + textRect + textRect + ( bool relative = true ) + + + width + width + () + + + x + x + () + + + y + y + () + + + + Q3ImageDrag + q3imagedrag.html + + Q3ImageDrag + Q3ImageDrag + ( QImage image, QWidget * dragSource = 0, const char * name = 0 ) + + + Q3ImageDrag + Q3ImageDrag-2 + ( QWidget * dragSource = 0, const char * name = 0 ) + + + canDecode + canDecode + ( const QMimeSource * source ) + + + decode + decode + ( const QMimeSource * source, QImage & image ) + + + decode + decode-2 + ( const QMimeSource * source, QPixmap & pixmap ) + + + setImage + setImage + ( QImage image ) + + + + Q3IntCache + q3intcache.html + + Q3IntCache + Q3IntCache + ( int maxCost = 100, int size = 17 ) + + + clear + clear + () + + + count + count + () + + + find + find + ( long k, bool ref = true ) + + + insert + insert + ( long k, const type * d, int c = 1, int p = 0 ) + + + isEmpty + isEmpty + () + + + maxCost + maxCost + () + + + remove + remove + ( long k ) + + + setMaxCost + setMaxCost + ( int m ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( long k ) + + + totalCost + totalCost + () + + + operator[] + operator-5b-5d + ( long k ) + + + + Q3IntCacheIterator + q3intcacheiterator.html + + Q3IntCacheIterator + Q3IntCacheIterator + ( const Q3IntCache<type> & cache ) + + + Q3IntCacheIterator + Q3IntCacheIterator-2 + ( const Q3IntCacheIterator<type> & ci ) + + + atFirst + atFirst + () + + + atLast + atLast + () + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + toLast + toLast + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + operator-- + operator-- + () + + + operator-= + operator--eq + ( uint jump ) + + + operator= + operator-eq + ( const Q3IntCacheIterator<type> & ci ) + + + + Q3IntDict + q3intdict.html + + Q3IntDict + Q3IntDict + ( int size = 17 ) + + + Q3IntDict + Q3IntDict-2 + ( const Q3IntDict<type> & dict ) + + + clear + clear + () + + + count + count + () + + + find + find + ( long key ) + + + insert + insert + ( long key, const type * item ) + + + isEmpty + isEmpty + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( long key ) + + + replace + replace + ( long key, const type * item ) + + + resize + resize + ( uint newsize ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( long key ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator= + operator-eq + ( const Q3IntDict<type> & dict ) + + + operator[] + operator-5b-5d + ( long key ) + + + + Q3IntDictIterator + q3intdictiterator.html + + Q3IntDictIterator + Q3IntDictIterator + ( const Q3IntDict<type> & dict ) + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + + Q3ListBox + q3listbox.html + + ComparisonFlags + ComparisonFlags-typedef + + + + LayoutMode + LayoutMode-enum + + + + SelectionMode + SelectionMode-enum + + + + StringComparisonMode + StringComparisonMode-enum + + + + Q3ListBox + Q3ListBox + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + autoBottomScrollBar + autoBottomScrollBar + () + + + autoScroll + autoScroll + () + + + autoScrollBar + autoScrollBar + () + + + autoUpdate + autoUpdate + () + + + bottomScrollBar + bottomScrollBar + () + + + cellHeight + cellHeight + ( int i ) + + + cellHeight + cellHeight-2 + () + + + cellWidth + cellWidth + () + + + cellWidth + cellWidth-2 + ( int i ) + + + centerCurrentItem + centerCurrentItem + () + + + changeItem + changeItem + ( const Q3ListBoxItem * lbi, int index ) + + + changeItem + changeItem-2 + ( const QString & text, int index ) + + + changeItem + changeItem-3 + ( const QPixmap & pixmap, int index ) + + + changeItem + changeItem-4 + ( const QPixmap & pixmap, const QString & text, int index ) + + + clear + clear + () + + + clearSelection + clearSelection + () + + + clicked + clicked + ( Q3ListBoxItem * item ) + + + clicked + clicked-2 + ( Q3ListBoxItem * item, const QPoint & pnt ) + + + contextMenuRequested + contextMenuRequested + ( Q3ListBoxItem * item, const QPoint & pos ) + + + currentChanged + currentChanged + ( Q3ListBoxItem * item ) + + + doLayout + doLayout + () + + + doubleClicked + doubleClicked + ( Q3ListBoxItem * item ) + + + dragSelect + dragSelect + () + + + ensureCurrentVisible + ensureCurrentVisible + () + + + findItem + findItem + ( const QString & text, ComparisonFlags compare = BeginsWith ) + + + findItem + findItem-2 + ( int yPos ) + + + firstItem + firstItem + () + + + highlighted + highlighted + ( int index ) + + + highlighted + highlighted-2 + ( Q3ListBoxItem * item ) + + + highlighted + highlighted-3 + ( const QString & text ) + + + inSort + inSort + ( const Q3ListBoxItem * lbi ) + + + inSort + inSort-2 + ( const QString & text ) + + + index + index + ( const Q3ListBoxItem * lbi ) + + + insertItem + insertItem + ( const Q3ListBoxItem * lbi, int index = -1 ) + + + insertItem + insertItem-2 + ( const Q3ListBoxItem * lbi, const Q3ListBoxItem * after ) + + + insertItem + insertItem-3 + ( const QString & text, int index = -1 ) + + + insertItem + insertItem-4 + ( const QPixmap & pixmap, int index = -1 ) + + + insertItem + insertItem-5 + ( const QPixmap & pixmap, const QString & text, int index = -1 ) + + + insertStrList + insertStrList + ( const char ** strings, int numStrings = -1, int index = -1 ) + + + insertStringList + insertStringList + ( const QStringList & list, int index = -1 ) + + + invertSelection + invertSelection + () + + + isRubberSelecting + isRubberSelecting + () + + + isSelected + isSelected + ( int i ) + + + isSelected + isSelected-2 + ( const Q3ListBoxItem * i ) + + + item + item + ( int index ) + + + itemAt + itemAt + ( const QPoint & p ) + + + itemHeight + itemHeight + ( int index = 0 ) + + + itemRect + itemRect + ( Q3ListBoxItem * item ) + + + itemVisible + itemVisible + ( int index ) + + + itemVisible + itemVisible-2 + ( const Q3ListBoxItem * item ) + + + maxItemWidth + maxItemWidth + () + + + mouseButtonClicked + mouseButtonClicked + ( int button, Q3ListBoxItem * item, const QPoint & pos ) + + + mouseButtonPressed + mouseButtonPressed + ( int button, Q3ListBoxItem * item, const QPoint & pos ) + + + numCols + numCols + () + + + onItem + onItem + ( Q3ListBoxItem * i ) + + + onViewport + onViewport + () + + + paintCell + paintCell + ( QPainter * p, int row, int col ) + + + pixmap + pixmap + ( int index ) + + + pressed + pressed + ( Q3ListBoxItem * item ) + + + pressed + pressed-2 + ( Q3ListBoxItem * item, const QPoint & pnt ) + + + removeItem + removeItem + ( int index ) + + + returnPressed + returnPressed + ( Q3ListBoxItem * item ) + + + rightButtonClicked + rightButtonClicked + ( Q3ListBoxItem * item, const QPoint & point ) + + + rightButtonPressed + rightButtonPressed + ( Q3ListBoxItem * item, const QPoint & point ) + + + scrollBar + scrollBar + () + + + selectAll + selectAll + ( bool select ) + + + selected + selected + ( int index ) + + + selected + selected-2 + ( Q3ListBoxItem * item ) + + + selected + selected-3 + ( const QString & text ) + + + selectedItem + selectedItem + () + + + selectionChanged + selectionChanged + () + + + selectionChanged + selectionChanged-2 + ( Q3ListBoxItem * item ) + + + setAutoBottomScrollBar + setAutoBottomScrollBar + ( bool enable ) + + + setAutoScroll + setAutoScroll + ( bool b ) + + + setAutoScrollBar + setAutoScrollBar + ( bool enable ) + + + setAutoUpdate + setAutoUpdate + ( bool b ) + + + setBottomItem + setBottomItem + ( int index ) + + + setBottomScrollBar + setBottomScrollBar + ( bool enable ) + + + setDragSelect + setDragSelect + ( bool b ) + + + setFixedVisibleLines + setFixedVisibleLines + ( int lines ) + + + setScrollBar + setScrollBar + ( bool enable ) + + + setSelected + setSelected + ( Q3ListBoxItem * item, bool select ) + + + setSelected + setSelected-2 + ( int index, bool select ) + + + setSmoothScrolling + setSmoothScrolling + ( bool b ) + + + smoothScrolling + smoothScrolling + () + + + sort + sort + ( bool ascending = true ) + + + takeItem + takeItem + ( const Q3ListBoxItem * item ) + + + text + text + ( int index ) + + + toggleCurrentItem + toggleCurrentItem + () + + + totalHeight + totalHeight + () + + + totalWidth + totalWidth + () + + + triggerUpdate + triggerUpdate + ( bool doLayout ) + + + updateCellWidth + updateCellWidth + () + + + updateItem + updateItem + ( int index ) + + + updateItem + updateItem-2 + ( Q3ListBoxItem * i ) + + + + Q3ListBoxItem + q3listboxitem.html + + Q3ListBoxItem + Q3ListBoxItem + ( Q3ListBox * listbox = 0 ) + + + Q3ListBoxItem + Q3ListBoxItem-2 + ( Q3ListBox * listbox, Q3ListBoxItem * after ) + + + current + current + () + + + height + height + ( const Q3ListBox * lb ) + + + isCurrent + isCurrent + () + + + isSelectable + isSelectable + () + + + isSelected + isSelected + () + + + listBox + listBox + () + + + next + next + () + + + paint + paint + ( QPainter * p ) + + + pixmap + pixmap + () + + + prev + prev + () + + + rtti + rtti + () + + + selected + selected + () + + + setCustomHighlighting + setCustomHighlighting + ( bool b ) + + + setSelectable + setSelectable + ( bool b ) + + + setText + setText + ( const QString & text ) + + + text + text + () + + + width + width + ( const Q3ListBox * lb ) + + + + Q3ListBoxPixmap + q3listboxpixmap.html + + Q3ListBoxPixmap + Q3ListBoxPixmap + ( Q3ListBox * listbox, const QPixmap & pixmap ) + + + Q3ListBoxPixmap + Q3ListBoxPixmap-2 + ( const QPixmap & pixmap ) + + + Q3ListBoxPixmap + Q3ListBoxPixmap-3 + ( Q3ListBox * listbox, const QPixmap & pixmap, Q3ListBoxItem * after ) + + + Q3ListBoxPixmap + Q3ListBoxPixmap-4 + ( Q3ListBox * listbox, const QPixmap & pix, const QString & text ) + + + Q3ListBoxPixmap + Q3ListBoxPixmap-5 + ( const QPixmap & pix, const QString & text ) + + + Q3ListBoxPixmap + Q3ListBoxPixmap-6 + ( Q3ListBox * listbox, const QPixmap & pix, const QString & text, Q3ListBoxItem * after ) + + + height + height + ( const Q3ListBox * lb ) + + + paint + paint + ( QPainter * painter ) + + + pixmap + pixmap + () + + + width + width + ( const Q3ListBox * lb ) + + + + Q3ListBoxText + q3listboxtext.html + + Q3ListBoxText + Q3ListBoxText + ( Q3ListBox * listbox, const QString & text = QString() + + + Q3ListBoxText + Q3ListBoxText-2 + ( const QString & text = QString() + + + Q3ListBoxText + Q3ListBoxText-3 + ( Q3ListBox * listbox, const QString & text, Q3ListBoxItem * after ) + + + height + height + ( const Q3ListBox * lb ) + + + paint + paint + ( QPainter * painter ) + + + width + width + ( const Q3ListBox * lb ) + + + + Q3ListView + q3listview.html + + ComparisonFlags + ComparisonFlags-typedef + + + + RenameAction + RenameAction-enum + + + + ResizeMode + ResizeMode-enum + + + + SelectionMode + SelectionMode-enum + + + + StringComparisonMode + StringComparisonMode-enum + + + + WidthMode + WidthMode-enum + + + + Q3ListView + Q3ListView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + addColumn + addColumn + ( const QString & label, int width = -1 ) + + + addColumn + addColumn-2 + ( const QIcon & icon, const QString & label, int width = -1 ) + + + adjustColumn + adjustColumn + ( int col ) + + + clear + clear + () + + + clearSelection + clearSelection + () + + + clicked + clicked + ( Q3ListViewItem * item ) + + + clicked + clicked-2 + ( Q3ListViewItem * item, const QPoint & pnt, int c ) + + + collapsed + collapsed + ( Q3ListViewItem * item ) + + + columnAlignment + columnAlignment + ( int column ) + + + columnText + columnText + ( int c ) + + + columnWidth + columnWidth + ( int c ) + + + columnWidthMode + columnWidthMode + ( int c ) + + + contentsMouseDoubleClickEvent + contentsMouseDoubleClickEvent + ( QMouseEvent * e ) + + + contentsMouseMoveEvent + contentsMouseMoveEvent + ( QMouseEvent * e ) + + + contentsMousePressEvent + contentsMousePressEvent + ( QMouseEvent * e ) + + + contentsMouseReleaseEvent + contentsMouseReleaseEvent + ( QMouseEvent * e ) + + + contextMenuRequested + contextMenuRequested + ( Q3ListViewItem * item, const QPoint & pos, int col ) + + + currentChanged + currentChanged + ( Q3ListViewItem * item ) + + + currentItem + currentItem + () + + + doAutoScroll + doAutoScroll + () + + + doubleClicked + doubleClicked + ( Q3ListViewItem * item ) + + + doubleClicked + doubleClicked-2 + ( Q3ListViewItem * item, const QPoint & point, int column ) + + + dragObject + dragObject + () + + + drawContentsOffset + drawContentsOffset + ( QPainter * p, int ox, int oy, int cx, int cy, int cw, int ch ) + + + dropped + dropped + ( QDropEvent * e ) + + + ensureItemVisible + ensureItemVisible + ( const Q3ListViewItem * i ) + + + eventFilter + eventFilter + ( QObject * o, QEvent * e ) + + + expanded + expanded + ( Q3ListViewItem * item ) + + + findItem + findItem + ( const QString & text, int column, ComparisonFlags compare = ExactMatch | Qt::CaseSensitive ) + + + firstChild + firstChild + () + + + header + header + () + + + hideColumn + hideColumn + ( int column ) + + + insertItem + insertItem + ( Q3ListViewItem * i ) + + + invertSelection + invertSelection + () + + + isOpen + isOpen + ( const Q3ListViewItem * item ) + + + isRenaming + isRenaming + () + + + isSelected + isSelected + ( const Q3ListViewItem * i ) + + + itemAt + itemAt + ( const QPoint & viewPos ) + + + itemPos + itemPos + ( const Q3ListViewItem * item ) + + + itemRect + itemRect + ( const Q3ListViewItem * item ) + + + itemRenamed + itemRenamed + ( Q3ListViewItem * item, int col, const QString & text ) + + + itemRenamed + itemRenamed-2 + ( Q3ListViewItem * item, int col ) + + + lastItem + lastItem + () + + + mouseButtonClicked + mouseButtonClicked + ( int button, Q3ListViewItem * item, const QPoint & pos, int c ) + + + mouseButtonPressed + mouseButtonPressed + ( int button, Q3ListViewItem * item, const QPoint & pos, int c ) + + + onItem + onItem + ( Q3ListViewItem * i ) + + + onViewport + onViewport + () + + + paintEmptyArea + paintEmptyArea + ( QPainter * p, const QRect & rect ) + + + pressed + pressed + ( Q3ListViewItem * item ) + + + pressed + pressed-2 + ( Q3ListViewItem * item, const QPoint & pnt, int c ) + + + removeColumn + removeColumn + ( int index ) + + + removeItem + removeItem + ( Q3ListViewItem * item ) + + + repaintItem + repaintItem + ( const Q3ListViewItem * item ) + + + resizeEvent + resizeEvent + ( QResizeEvent * e ) + + + returnPressed + returnPressed + ( Q3ListViewItem * item ) + + + rightButtonClicked + rightButtonClicked + ( Q3ListViewItem * item, const QPoint & point, int column ) + + + rightButtonPressed + rightButtonPressed + ( Q3ListViewItem * item, const QPoint & point, int column ) + + + selectAll + selectAll + ( bool select ) + + + selectedItem + selectedItem + () + + + selectionChanged + selectionChanged + () + + + selectionChanged + selectionChanged-2 + ( Q3ListViewItem * item ) + + + setColumnAlignment + setColumnAlignment + ( int column, int align ) + + + setColumnText + setColumnText + ( int column, const QString & label ) + + + setColumnText + setColumnText-2 + ( int column, const QIcon & icon, const QString & label ) + + + setColumnWidth + setColumnWidth + ( int column, int w ) + + + setColumnWidthMode + setColumnWidthMode + ( int c, WidthMode mode ) + + + setCurrentItem + setCurrentItem + ( Q3ListViewItem * i ) + + + setOpen + setOpen + ( Q3ListViewItem * item, bool open ) + + + setSelected + setSelected + ( Q3ListViewItem * item, bool selected ) + + + setSelectionAnchor + setSelectionAnchor + ( Q3ListViewItem * item ) + + + setSortColumn + setSortColumn + ( int column ) + + + setSortOrder + setSortOrder + ( Qt::SortOrder order ) + + + setSorting + setSorting + ( int column, bool ascending = true ) + + + sort + sort + () + + + sortColumn + sortColumn + () + + + SortOrder + sortOrder + Q3ListView::sortOrder() + + + spacePressed + spacePressed + ( Q3ListViewItem * item ) + + + startDrag + startDrag + () + + + takeItem + takeItem + ( Q3ListViewItem * i ) + + + triggerUpdate + triggerUpdate + () + + + updateContents + updateContents + () + + + + Q3ListViewItem + q3listviewitem.html + + Q3ListViewItem + Q3ListViewItem + ( Q3ListView * parent ) + + + Q3ListViewItem + Q3ListViewItem-2 + ( Q3ListViewItem * parent ) + + + Q3ListViewItem + Q3ListViewItem-3 + ( Q3ListView * parent, Q3ListViewItem * after ) + + + Q3ListViewItem + Q3ListViewItem-4 + ( Q3ListViewItem * parent, Q3ListViewItem * after ) + + + Q3ListViewItem + Q3ListViewItem-5 + ( Q3ListView * parent, const QString & label1, const QString & label2 = QString() + + + Q3ListViewItem + Q3ListViewItem-6 + ( Q3ListViewItem * parent, const QString & label1, const QString & label2 = QString() + + + Q3ListViewItem + Q3ListViewItem-7 + ( Q3ListView * parent, Q3ListViewItem * after, const QString & label1, const QString & label2 = QString() + + + Q3ListViewItem + Q3ListViewItem-8 + ( Q3ListViewItem * parent, Q3ListViewItem * after, const QString & label1, const QString & label2 = QString() + + + acceptDrop + acceptDrop + ( const QMimeSource * mime ) + + + activate + activate + () + + + activatedPos + activatedPos + ( QPoint & pos ) + + + cancelRename + cancelRename + ( int col ) + + + childCount + childCount + () + + + compare + compare + ( Q3ListViewItem * i, int col, bool ascending ) + + + depth + depth + () + + + dragEnabled + dragEnabled + () + + + dragEntered + dragEntered + () + + + dragLeft + dragLeft + () + + + dropEnabled + dropEnabled + () + + + dropped + dropped + ( QDropEvent * e ) + + + enforceSortOrder + enforceSortOrder + () + + + firstChild + firstChild + () + + + height + height + () + + + insertItem + insertItem + ( Q3ListViewItem * newChild ) + + + invalidateHeight + invalidateHeight + () + + + isEnabled + isEnabled + () + + + isExpandable + isExpandable + () + + + isOpen + isOpen + () + + + isSelectable + isSelectable + () + + + isSelected + isSelected + () + + + isVisible + isVisible + () + + + itemAbove + itemAbove + () + + + itemBelow + itemBelow + () + + + itemPos + itemPos + () + + + key + key + ( int column, bool ascending ) + + + listView + listView + () + + + moveItem + moveItem + ( Q3ListViewItem * after ) + + + multiLinesEnabled + multiLinesEnabled + () + + + nextSibling + nextSibling + () + + + okRename + okRename + ( int col ) + + + paintBranches + paintBranches + ( QPainter * p, const QColorGroup & cg, int w, int y, int h ) + + + paintCell + paintCell + ( QPainter * painter, const QColorGroup & cg, int column, int width, int align ) + + + paintFocus + paintFocus + ( QPainter * p, const QColorGroup & cg, const QRect & r ) + + + parent + parent + () + + + pixmap + pixmap + ( int column ) + + + removeItem + removeItem + ( Q3ListViewItem * item ) + + + renameEnabled + renameEnabled + ( int col ) + + + repaint + repaint + () + + + rtti + rtti + () + + + setDragEnabled + setDragEnabled + ( bool allow ) + + + setDropEnabled + setDropEnabled + ( bool allow ) + + + setEnabled + setEnabled + ( bool b ) + + + setExpandable + setExpandable + ( bool enable ) + + + setHeight + setHeight + ( int height ) + + + setMultiLinesEnabled + setMultiLinesEnabled + ( bool b ) + + + setOpen + setOpen + ( bool o ) + + + setPixmap + setPixmap + ( int column, const QPixmap & pm ) + + + setRenameEnabled + setRenameEnabled + ( int col, bool b ) + + + setSelectable + setSelectable + ( bool enable ) + + + setSelected + setSelected + ( bool s ) + + + setText + setText + ( int column, const QString & text ) + + + setVisible + setVisible + ( bool b ) + + + setup + setup + () + + + sort + sort + () + + + sortChildItems + sortChildItems + ( int column, bool ascending ) + + + startRename + startRename + ( int col ) + + + takeItem + takeItem + ( Q3ListViewItem * item ) + + + text + text + ( int column ) + + + totalHeight + totalHeight + () + + + width + width + ( const QFontMetrics & fm, const Q3ListView * lv, int c ) + + + widthChanged + widthChanged + ( int c = -1 ) + + + + Q3ListViewItemIterator + q3listviewitemiterator.html + + IteratorFlag + IteratorFlag-enum + + + + Q3ListViewItemIterator + Q3ListViewItemIterator + () + + + Q3ListViewItemIterator + Q3ListViewItemIterator-2 + ( Q3ListViewItem * item ) + + + Q3ListViewItemIterator + Q3ListViewItemIterator-3 + ( Q3ListViewItem * item, int iteratorFlags ) + + + Q3ListViewItemIterator + Q3ListViewItemIterator-4 + ( const Q3ListViewItemIterator & it ) + + + Q3ListViewItemIterator + Q3ListViewItemIterator-5 + ( Q3ListView * lv ) + + + Q3ListViewItemIterator + Q3ListViewItemIterator-6 + ( Q3ListView * lv, int iteratorFlags ) + + + current + current + () + + + operator* + operator-2a + () + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator= + operator-eq + ( const Q3ListViewItemIterator & it ) + + + + Q3LocalFs + q3localfs.html + + Q3LocalFs + Q3LocalFs + () + + + + Q3MainWindow + q3mainwindow.html + + DockWindows + DockWindows-enum + + + + Q3MainWindow + Q3MainWindow + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = Qt::WType_TopLevel ) + + + addDockWindow + addDockWindow + ( Q3DockWindow * dockWindow, Qt::Dock edge = Qt::DockTop, bool newLine = false ) + + + addDockWindow + addDockWindow-2 + ( Q3DockWindow * dockWindow, const QString & label, Qt::Dock edge = Qt::DockTop, bool newLine = false ) + + + addToolBar + addToolBar + ( Q3DockWindow * dockWindow, Qt::Dock position = Qt::DockTop, bool newLine = false ) + + + addToolBar + addToolBar-2 + ( Q3DockWindow * dockWindow, const QString & label, Qt::Dock position = Qt::DockTop, bool newLine = false ) + + + appropriate + appropriate + ( Q3DockWindow * dw ) + + + bottomDock + bottomDock + () + + + centralWidget + centralWidget + () + + + childEvent + childEvent + ( QChildEvent * e ) + + + createDockWindowMenu + createDockWindowMenu + ( DockWindows dockWindows = AllDockWindows ) + + + customize + customize + () + + + dockWindowPositionChanged + dockWindowPositionChanged + ( Q3DockWindow * dockWindow ) + + + dockWindows + dockWindows + ( Qt::Dock dock ) + + + dockWindows + dockWindows-2 + () + + + getLocation + getLocation + ( Q3DockWindow * dw, Qt::Dock & dock, int & index, bool & nl, int & extraOffset ) + + + hasDockWindow + hasDockWindow + ( Q3DockWindow * dw ) + + + isCustomizable + isCustomizable + () + + + isDockEnabled + isDockEnabled + ( Qt::Dock dock ) + + + isDockEnabled + isDockEnabled-2 + ( Q3DockArea * area ) + + + isDockEnabled + isDockEnabled-3 + ( Q3DockWindow * dw, Q3DockArea * area ) + + + isDockEnabled + isDockEnabled-4 + ( Q3DockWindow * tb, Qt::Dock dock ) + + + isDockMenuEnabled + isDockMenuEnabled + () + + + leftDock + leftDock + () + + + lineUpDockWindows + lineUpDockWindows + ( bool keepNewLines = false ) + + + lineUpToolBars + lineUpToolBars + ( bool keepNewLines = false ) + + + menuAboutToShow + menuAboutToShow + () + + + menuBar + menuBar + () + + + moveDockWindow + moveDockWindow + ( Q3DockWindow * dockWindow, Qt::Dock edge = Qt::DockTop ) + + + moveDockWindow + moveDockWindow-2 + ( Q3DockWindow * dockWindow, Qt::Dock edge, bool nl, int index, int extraOffset = -1 ) + + + moveToolBar + moveToolBar + ( Q3DockWindow * dockWindow, Qt::Dock position = Qt::DockTop ) + + + moveToolBar + moveToolBar-2 + ( Q3DockWindow * dockWindow, Qt::Dock position, bool nl, int index, int extraOffset = -1 ) + + + pixmapSizeChanged + pixmapSizeChanged + ( bool b ) + + + removeDockWindow + removeDockWindow + ( Q3DockWindow * dockWindow ) + + + removeToolBar + removeToolBar + ( Q3DockWindow * dockWindow ) + + + rightDock + rightDock + () + + + setAppropriate + setAppropriate + ( Q3DockWindow * dw, bool a ) + + + setCentralWidget + setCentralWidget + ( QWidget * w ) + + + setDockEnabled + setDockEnabled + ( Qt::Dock dock, bool enable ) + + + setDockEnabled + setDockEnabled-2 + ( Q3DockWindow * dw, Qt::Dock dock, bool enable ) + + + setDockMenuEnabled + setDockMenuEnabled + ( bool b ) + + + setToolBarsMovable + setToolBarsMovable + ( bool b ) + + + setUpLayout + setUpLayout + () + + + showDockMenu + showDockMenu + ( const QPoint & globalPos ) + + + statusBar + statusBar + () + + + toolBarPositionChanged + toolBarPositionChanged + ( Q3ToolBar * toolbar ) + + + toolBars + toolBars + ( Qt::Dock dock ) + + + toolBarsMovable + toolBarsMovable + () + + + topDock + topDock + () + + + usesTextLabelChanged + usesTextLabelChanged + ( bool b ) + + + whatsThis + whatsThis + () + + + + Q3MemArray + q3memarray.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + Q3MemArray + Q3MemArray + ( int arg1, int arg2 ) + + + Q3MemArray + Q3MemArray-2 + () + + + Q3MemArray + Q3MemArray-3 + ( int size ) + + + Q3MemArray + Q3MemArray-4 + ( const Q3MemArray<type> & a ) + + + Q3MemArray + Q3MemArray-5 + ( const QVector<type> & vector ) + + + assign + assign + ( const Q3MemArray<type> & a ) + + + assign + assign-2 + ( const type * data, uint size ) + + + at + at + ( uint index ) + + + begin + begin + () + + + begin + begin-2 + () + + + bsearch + bsearch + ( const type & v ) + + + contains + contains + ( const type & v ) + + + copy + copy + () + + + count + count + () + + + data + data + () + + + detach + detach + () + + + duplicate + duplicate + ( const Q3MemArray<type> & a ) + + + duplicate + duplicate-2 + ( const type * data, uint size ) + + + end + end + () + + + end + end-2 + () + + + fill + fill + ( const type & v, int size = -1 ) + + + find + find + ( const type & v, uint index = 0 ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + nrefs + nrefs + () + + + resetRawData + resetRawData + ( const type * data, uint size ) + + + resize + resize + ( uint size, Optimization optim ) + + + resize + resize-2 + ( uint size ) + + + setRawData + setRawData + ( const type * data, uint size ) + + + size + size + () + + + sort + sort + () + + + truncate + truncate + ( uint pos ) + + + operator + operator-QVector-lttype-gt + QVector<type>() + + + operator + operator-const-type--2a + const type *() + + + operator!= + operator-not-eq + ( const Q3MemArray<type> & a ) + + + operator= + operator-eq + ( const Q3MemArray<type> & a ) + + + operator== + operator-eq-eq + ( const Q3MemArray<type> & a ) + + + operator[] + operator-5b-5d + ( int index ) + + + + Q3MimeSourceFactory + q3mimesourcefactory.html + + Q3MimeSourceFactory + Q3MimeSourceFactory + () + + + addFactory + addFactory + ( Q3MimeSourceFactory * f ) + + + addFilePath + addFilePath + ( const QString & p ) + + + data + data + ( const QString & abs_name ) + + + data + data-2 + ( const QString & abs_or_rel_name, const QString & context ) + + + defaultFactory + defaultFactory + () + + + filePath + filePath + () + + + makeAbsolute + makeAbsolute + ( const QString & abs_or_rel_name, const QString & context ) + + + removeFactory + removeFactory + ( Q3MimeSourceFactory * f ) + + + setData + setData + ( const QString & abs_name, QMimeSource * data ) + + + setDefaultFactory + setDefaultFactory + ( Q3MimeSourceFactory * factory ) + + + setExtensionType + setExtensionType + ( const QString & ext, const char * mimetype ) + + + setFilePath + setFilePath + ( const QStringList & path ) + + + setFilePath + setFilePath-2 + ( const QString & path ) + + + setImage + setImage + ( const QString & abs_name, const QImage & image ) + + + setPixmap + setPixmap + ( const QString & abs_name, const QPixmap & pixmap ) + + + setText + setText + ( const QString & abs_name, const QString & text ) + + + takeDefaultFactory + takeDefaultFactory + () + + + + Q3MultiLineEdit + q3multilineedit.html + + Alignment + alignment-prop + + + + Q3MultiLineEdit + Q3MultiLineEdit + ( QWidget * parent = 0, const char * name = 0 ) + + + autoUpdate + autoUpdate + () + + + backspace + backspace + () + + + cursorDown + cursorDown + ( bool mark = false ) + + + cursorLeft + cursorLeft + ( bool mark = false, bool wrap = true ) + + + cursorPoint + cursorPoint + () + + + cursorRight + cursorRight + ( bool mark = false, bool wrap = true ) + + + cursorUp + cursorUp + ( bool mark = false ) + + + cursorWordBackward + cursorWordBackward + ( bool mark ) + + + cursorWordForward + cursorWordForward + ( bool mark ) + + + deselect + deselect + () + + + end + end + ( bool mark = false ) + + + getMarkedRegion + getMarkedRegion + ( int * line1, int * col1, int * line2, int * col2 ) + + + hasMarkedText + hasMarkedText + () + + + home + home + ( bool mark = false ) + + + insertAndMark + insertAndMark + ( const QString & str, bool mark ) + + + insertAt + insertAt + ( const QString & s, int line, int col, bool mark ) + + + insertLine + insertLine + ( const QString & txt, int line = -1 ) + + + killLine + killLine + () + + + lineLength + lineLength + ( int row ) + + + markedText + markedText + () + + + maxLines + maxLines + () + + + newLine + newLine + () + + + pageDown + pageDown + ( bool mark = false ) + + + pageUp + pageUp + ( bool mark = false ) + + + removeLine + removeLine + ( int paragraph ) + + + setCursorPosition + setCursorPosition + ( int line, int col, bool mark ) + + + setMaxLines + setMaxLines + ( int max ) + + + textLine + textLine + ( int line ) + + + totalHeight + totalHeight + () + + + totalWidth + totalWidth + () + + + + Q3NetworkOperation + q3networkoperation.html + + Q3NetworkOperation + Q3NetworkOperation + ( Q3NetworkProtocol::Operation operation, const QString & arg0, const QString & arg1, const QString & arg2 ) + + + Q3NetworkOperation + Q3NetworkOperation-2 + ( Q3NetworkProtocol::Operation operation, const QByteArray & arg0, const QByteArray & arg1, const QByteArray & arg2 ) + + + arg + arg + ( int num ) + + + errorCode + errorCode + () + + + free + free + () + + + Operation + operation + Q3NetworkOperation::operation() + + + protocolDetail + protocolDetail + () + + + rawArg + rawArg + ( int num ) + + + setArg + setArg + ( int num, const QString & arg ) + + + setErrorCode + setErrorCode + ( int ec ) + + + setProtocolDetail + setProtocolDetail + ( const QString & detail ) + + + setRawArg + setRawArg + ( int num, const QByteArray & arg ) + + + setState + setState + ( Q3NetworkProtocol::State state ) + + + State + state + Q3NetworkOperation::state() + + + + Q3NetworkProtocol + q3networkprotocol.html + + ConnectionState + ConnectionState-enum + + + + Error + Error-enum + + + + Operation + Operation-enum + + + + State + State-enum + + + + Q3NetworkProtocol + Q3NetworkProtocol + () + + + addOperation + addOperation + ( Q3NetworkOperation * op ) + + + autoDelete + autoDelete + () + + + checkConnection + checkConnection + ( Q3NetworkOperation * op ) + + + clearOperationQueue + clearOperationQueue + () + + + connectionStateChanged + connectionStateChanged + ( int state, const QString & data ) + + + createdDirectory + createdDirectory + ( const QUrlInfo & i, Q3NetworkOperation * op ) + + + data + data + ( const QByteArray & data, Q3NetworkOperation * op ) + + + dataTransferProgress + dataTransferProgress + ( int bytesDone, int bytesTotal, Q3NetworkOperation * op ) + + + finished + finished + ( Q3NetworkOperation * op ) + + + getNetworkProtocol + getNetworkProtocol + ( const QString & protocol ) + + + hasOnlyLocalFileSystem + hasOnlyLocalFileSystem + () + + + itemChanged + itemChanged + ( Q3NetworkOperation * op ) + + + newChild + newChild + ( const QUrlInfo & i, Q3NetworkOperation * op ) + + + newChildren + newChildren + ( const Q3ValueList<QUrlInfo> & i, Q3NetworkOperation * op ) + + + operationGet + operationGet + ( Q3NetworkOperation * op ) + + + operationInProgress + operationInProgress + () + + + operationListChildren + operationListChildren + ( Q3NetworkOperation * op ) + + + operationMkDir + operationMkDir + ( Q3NetworkOperation * op ) + + + operationPut + operationPut + ( Q3NetworkOperation * op ) + + + operationRemove + operationRemove + ( Q3NetworkOperation * op ) + + + operationRename + operationRename + ( Q3NetworkOperation * op ) + + + registerNetworkProtocol + registerNetworkProtocol + ( const QString & protocol, Q3NetworkProtocolFactoryBase * protocolFactory ) + + + removed + removed + ( Q3NetworkOperation * op ) + + + setAutoDelete + setAutoDelete + ( bool b, int i = 10000 ) + + + setUrl + setUrl + ( Q3UrlOperator * u ) + + + start + start + ( Q3NetworkOperation * op ) + + + stop + stop + () + + + supportedOperations + supportedOperations + () + + + url + url + () + + + + Q3PaintDeviceMetrics + q3paintdevicemetrics.html + + Q3PaintDeviceMetrics + Q3PaintDeviceMetrics + ( const QPaintDevice * pd ) + + + depth + depth + () + + + height + height + () + + + heightMM + heightMM + () + + + logicalDpiX + logicalDpiX + () + + + logicalDpiY + logicalDpiY + () + + + numColors + numColors + () + + + width + width + () + + + widthMM + widthMM + () + + + + Q3Painter + q3painter.html + + Q3Painter + Q3Painter + () + + + Q3Painter + Q3Painter-2 + ( QPaintDevice * pdev ) + + + drawArc + drawArc + ( const QRect & r, int a, int alen ) + + + drawArc + drawArc-2 + ( int x, int y, int w, int h, int startAngle, int spanAngle ) + + + drawChord + drawChord + ( const QRect & r, int a, int alen ) + + + drawChord + drawChord-2 + ( int x, int y, int w, int h, int startAngle, int spanAngle ) + + + drawEllipse + drawEllipse + ( const QRect & r ) + + + drawEllipse + drawEllipse-2 + ( int x, int y, int width, int height ) + + + drawPie + drawPie + ( const QRect & r, int a, int alen ) + + + drawPie + drawPie-2 + ( int x, int y, int w, int h, int startAngle, int spanAngle ) + + + drawRect + drawRect + ( const QRect & r ) + + + drawRect + drawRect-2 + ( int x, int y, int w, int h ) + + + drawRoundRect + drawRoundRect + ( const QRect & r, int xrnd = 25, int yrnd = 25 ) + + + drawRoundRect + drawRoundRect-2 + ( int x, int y, int w, int h, int xrnd = 25, int yrnd = 25 ) + + + + Q3Picture + q3picture.html + + Q3Picture + Q3Picture + () + + + Q3Picture + Q3Picture-2 + ( const QPicture & other ) + + + load + load + ( QIODevice * device, const char * format = 0 ) + + + load + load-2 + ( const QString & fileName, const char * format = 0 ) + + + save + save + ( QIODevice * device, const char * format = 0 ) + + + save + save-2 + ( const QString & fileName, const char * format = 0 ) + + + + Q3PointArray + q3pointarray.html + + Q3PointArray + Q3PointArray + () + + + Q3PointArray + Q3PointArray-2 + ( const QRect & r, bool closed = false ) + + + Q3PointArray + Q3PointArray-3 + ( const QPolygon & other ) + + + copy + copy + () + + + cubicBezier + cubicBezier + () + + + isNull + isNull + () + + + makeArc + makeArc + ( int x, int y, int w, int h, int a1, int a2 ) + + + makeArc + makeArc-2 + ( int x, int y, int w, int h, int a1, int a2, const QMatrix & xf ) + + + makeEllipse + makeEllipse + ( int x, int y, int w, int h ) + + + + Q3PopupMenu + q3popupmenu.html + + Q3PopupMenu + Q3PopupMenu + ( QWidget * parent = 0, const char * name = 0 ) + + + exec + exec + () + + + exec + exec-2 + ( const QPoint & pos, int indexAtPoint = 0 ) + + + margin + margin + () + + + setMargin + setMargin + ( int margin ) + + + + Q3Process + q3process.html + + Communication + Communication-enum + + + + Q3Process + Q3Process + ( QObject * parent = 0, const char * name = 0 ) + + + Q3Process + Q3Process-2 + ( const QString & arg0, QObject * parent = 0, const char * name = 0 ) + + + Q3Process + Q3Process-3 + ( const QStringList & args, QObject * parent = 0, const char * name = 0 ) + + + addArgument + addArgument + ( const QString & arg ) + + + arguments + arguments + () + + + canReadLineStderr + canReadLineStderr + () + + + canReadLineStdout + canReadLineStdout + () + + + clearArguments + clearArguments + () + + + closeStdin + closeStdin + () + + + communication + communication + () + + + exitStatus + exitStatus + () + + + isRunning + isRunning + () + + + kill + kill + () + + + launch + launch + ( const QByteArray & buf, QStringList * env = 0 ) + + + launch + launch-2 + ( const QString & buf, QStringList * env = 0 ) + + + launchFinished + launchFinished + () + + + normalExit + normalExit + () + + + processExited + processExited + () + + + processIdentifier + processIdentifier + () + + + readLineStderr + readLineStderr + () + + + readLineStdout + readLineStdout + () + + + readStderr + readStderr + () + + + readStdout + readStdout + () + + + readyReadStderr + readyReadStderr + () + + + readyReadStdout + readyReadStdout + () + + + setArguments + setArguments + ( const QStringList & args ) + + + setCommunication + setCommunication + ( int commFlags ) + + + setWorkingDirectory + setWorkingDirectory + ( const QDir & dir ) + + + start + start + ( QStringList * env = 0 ) + + + tryTerminate + tryTerminate + () + + + workingDirectory + workingDirectory + () + + + writeToStdin + writeToStdin + ( const QByteArray & buf ) + + + writeToStdin + writeToStdin-2 + ( const QString & buf ) + + + wroteToStdin + wroteToStdin + () + + + Q3ProgressBar + Q3ProgressBar-2 + ( int totalSteps, QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + Q3ProgressBar + Q3ProgressBar-3 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + + Q3ProgressBar + q3progressbar.html + + Q3ProgressBar + Q3ProgressBar + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + Q3ProgressBar + Q3ProgressBar-4 + ( int totalSteps, QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + margin + margin + () + + + reset + reset + () + + + setIndicator + setIndicator + ( QString & indicator, int progress, int totalSteps ) + + + setMargin + setMargin + ( int margin ) + + + + Q3ProgressDialog + q3progressdialog.html + + Q3ProgressDialog + Q3ProgressDialog + ( QWidget * creator, const char * name, bool modal = false, Qt::WindowFlags f = 0 ) + + + Q3ProgressDialog + Q3ProgressDialog-2 + ( const QString & labelText, const QString & cancelButtonText, int totalSteps, QWidget * creator = 0, const char * name = 0, bool modal = false, Qt::WindowFlags f = 0 ) + + + Q3ProgressDialog + Q3ProgressDialog-3 + ( QWidget * creator = 0, Qt::WindowFlags f = 0 ) + + + Q3ProgressDialog + Q3ProgressDialog-4 + ( const QString & labelText, const QString & cancelButtonText, int totalSteps, QWidget * creator = 0, Qt::WindowFlags f = 0 ) + + + cancel + cancel + () + + + canceled + canceled + () + + + cancelled + cancelled + () + + + forceShow + forceShow + () + + + reset + reset + () + + + setBar + setBar + ( Q3ProgressBar * bar ) + + + setCancelButton + setCancelButton + ( QPushButton * cancelButton ) + + + setCancelButtonText + setCancelButtonText + ( const QString & cancelButtonText ) + + + setLabel + setLabel + ( QLabel * label ) + + + sizeHint + sizeHint + () + + + + Q3PtrCollection + q3ptrcollection.html + + Item + Item-typedef + + + + Q3PtrCollection + Q3PtrCollection + () + + + Q3PtrCollection + Q3PtrCollection-2 + ( const Q3PtrCollection & source ) + + + autoDelete + autoDelete + () + + + clear + clear + () + + + count + count + () + + + deleteItem + deleteItem + ( Item d ) + + + newItem + newItem + ( Item d ) + + + setAutoDelete + setAutoDelete + ( bool enable ) + + + + Q3PtrDict + q3ptrdict.html + + Q3PtrDict + Q3PtrDict + ( int size = 17 ) + + + Q3PtrDict + Q3PtrDict-2 + ( const Q3PtrDict<type> & dict ) + + + clear + clear + () + + + count + count + () + + + find + find + ( void * key ) + + + insert + insert + ( void * key, const type * item ) + + + isEmpty + isEmpty + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( void * key ) + + + replace + replace + ( void * key, const type * item ) + + + resize + resize + ( uint newsize ) + + + size + size + () + + + statistics + statistics + () + + + take + take + ( void * key ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator= + operator-eq + ( const Q3PtrDict<type> & dict ) + + + operator[] + operator-5b-5d + ( void * key ) + + + + Q3PtrDictIterator + q3ptrdictiterator.html + + Q3PtrDictIterator + Q3PtrDictIterator + ( const Q3PtrDict<type> & dict ) + + + count + count + () + + + current + current + () + + + currentKey + currentKey + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + + Q3PtrList + q3ptrlist.html + + Q3PtrList + Q3PtrList + () + + + Q3PtrList + Q3PtrList-2 + ( const Q3PtrList<type> & list ) + + + append + append + ( const type * item ) + + + at + at + ( uint index ) + + + at + at-2 + () + + + clear + clear + () + + + compareItems + compareItems + ( Q3PtrCollection::Item item1, Q3PtrCollection::Item item2 ) + + + contains + contains + ( const type * item ) + + + containsRef + containsRef + ( const type * item ) + + + count + count + () + + + current + current + () + + + currentNode + currentNode + () + + + find + find + ( const type * item ) + + + findNext + findNext + ( const type * item ) + + + findNextRef + findNextRef + ( const type * item ) + + + findRef + findRef + ( const type * item ) + + + first + first + () + + + getFirst + getFirst + () + + + getLast + getLast + () + + + inSort + inSort + ( const type * item ) + + + insert + insert + ( uint index, const type * item ) + + + isEmpty + isEmpty + () + + + last + last + () + + + next + next + () + + + prepend + prepend + ( const type * item ) + + + prev + prev + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( uint index ) + + + remove + remove-2 + () + + + remove + remove-3 + ( const type * item ) + + + removeFirst + removeFirst + () + + + removeLast + removeLast + () + + + removeNode + removeNode + ( Q3LNode * node ) + + + removeRef + removeRef + ( const type * item ) + + + replace + replace + ( uint index, const type * item ) + + + sort + sort + () + + + take + take + ( uint index ) + + + take + take-2 + () + + + takeNode + takeNode + ( Q3LNode * node ) + + + toVector + toVector + ( Q3GVector * vec ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator!= + operator-not-eq + ( const Q3PtrList<type> & list ) + + + operator= + operator-eq + ( const Q3PtrList<type> & list ) + + + operator== + operator-eq-eq + ( const Q3PtrList<type> & list ) + + + + Q3PtrListIterator + q3ptrlistiterator.html + + Q3PtrListIterator + Q3PtrListIterator + ( const Q3PtrList<type> & list ) + + + atFirst + atFirst + () + + + atLast + atLast + () + + + count + count + () + + + current + current + () + + + isEmpty + isEmpty + () + + + toFirst + toFirst + () + + + toLast + toLast + () + + + operator + operator-type--2a + type *() + + + operator() + operator-28-29 + () + + + operator* + operator-2a + () + + + operator++ + operator-2b-2b + () + + + operator+= + operator-2b-eq + ( uint jump ) + + + operator-- + operator-- + () + + + operator-= + operator--eq + ( uint jump ) + + + operator= + operator-eq + ( const Q3PtrListIterator<type> & it ) + + + + Q3PtrQueue + q3ptrqueue.html + + Q3PtrQueue + Q3PtrQueue + () + + + Q3PtrQueue + Q3PtrQueue-2 + ( const Q3PtrQueue<type> & queue ) + + + autoDelete + autoDelete + () + + + clear + clear + () + + + count + count + () + + + current + current + () + + + dequeue + dequeue + () + + + enqueue + enqueue + ( const type * d ) + + + head + head + () + + + isEmpty + isEmpty + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + () + + + setAutoDelete + setAutoDelete + ( bool enable ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator + operator-type--2a + type *() + + + operator= + operator-eq + ( const Q3PtrQueue<type> & queue ) + + + + Q3PtrStack + q3ptrstack.html + + Q3PtrStack + Q3PtrStack + () + + + Q3PtrStack + Q3PtrStack-2 + ( const Q3PtrStack<type> & s ) + + + autoDelete + autoDelete + () + + + clear + clear + () + + + count + count + () + + + current + current + () + + + isEmpty + isEmpty + () + + + pop + pop + () + + + push + push + ( const type * d ) + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + () + + + setAutoDelete + setAutoDelete + ( bool enable ) + + + top + top + () + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator + operator-type--2a + type *() + + + operator= + operator-eq + ( const Q3PtrStack<type> & s ) + + + + Q3PtrVector + q3ptrvector.html + + Q3PtrVector + Q3PtrVector + () + + + Q3PtrVector + Q3PtrVector-2 + ( uint size ) + + + Q3PtrVector + Q3PtrVector-3 + ( const Q3PtrVector<type> & v ) + + + at + at + ( uint i ) + + + bsearch + bsearch + ( const type * d ) + + + clear + clear + () + + + compareItems + compareItems + ( Q3PtrCollection::Item d1, Q3PtrCollection::Item d2 ) + + + contains + contains + ( const type * d ) + + + containsRef + containsRef + ( const type * d ) + + + count + count + () + + + data + data + () + + + fill + fill + ( const type * d, int size = -1 ) + + + find + find + ( const type * d, uint i = 0 ) + + + findRef + findRef + ( const type * d, uint i = 0 ) + + + insert + insert + ( uint i, const type * d ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + read + read + ( QDataStream & s, Q3PtrCollection::Item & item ) + + + remove + remove + ( uint i ) + + + resize + resize + ( uint size ) + + + size + size + () + + + sort + sort + () + + + take + take + ( uint i ) + + + write + write + ( QDataStream & s, Q3PtrCollection::Item item ) + + + operator= + operator-eq + ( const Q3PtrVector<type> & v ) + + + operator== + operator-eq-eq + ( const Q3PtrVector<type> & v ) + + + operator[] + operator-5b-5d + ( int i ) + + + + Q3RangeControl + q3rangecontrol.html + + Q3RangeControl + Q3RangeControl + () + + + Q3RangeControl + Q3RangeControl-2 + ( int minValue, int maxValue, int lineStep, int pageStep, int value ) + + + addLine + addLine + () + + + addPage + addPage + () + + + bound + bound + ( int v ) + + + directSetValue + directSetValue + ( int value ) + + + lineStep + lineStepx + () + + + maxValue + maxValue + () + + + minValue + minValue + () + + + pageStep + pageStep + () + + + positionFromValue + positionFromValue + ( int logical_val, int span ) + + + prevValue + prevValue + () + + + rangeChange + rangeChange + () + + + setMaxValue + setMaxValue + ( int maxVal ) + + + setMinValue + setMinValue + ( int minVal ) + + + setRange + setRange + ( int minValue, int maxValue ) + + + setSteps + setSteps + ( int lineStep, int pageStep ) + + + setValue + setValue + ( int value ) + + + stepChange + stepChange + () + + + subtractLine + subtractLine + () + + + subtractPage + subtractPage + () + + + value + value + () + + + valueChange + valueChange + () + + + valueFromPosition + valueFromPosition + ( int pos, int span ) + + + childIsVisible + childIsVisible + ( QWidget * child ) + + + showChild + showChild + ( QWidget * child, bool y = true ) + + + + Q3ScrollView + q3scrollview.html + + ResizePolicy + ResizePolicy-enum + + + + ScrollBarMode + ScrollBarMode-enum + + + + Q3ScrollView + Q3ScrollView + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + addChild + addChild + ( QWidget * child, int x = 0, int y = 0 ) + + + bottomMargin + bottomMargin + () + + + center + center + ( int x, int y ) + + + center + center-2 + ( int x, int y, float xmargin, float ymargin ) + + + childX + childX + ( QWidget * child ) + + + childY + childY + ( QWidget * child ) + + + clipper + clipper + () + + + contentsContextMenuEvent + contentsContextMenuEvent + ( QContextMenuEvent * e ) + + + contentsDragEnterEvent + contentsDragEnterEvent + ( QDragEnterEvent * event ) + + + contentsDragLeaveEvent + contentsDragLeaveEvent + ( QDragLeaveEvent * event ) + + + contentsDragMoveEvent + contentsDragMoveEvent + ( QDragMoveEvent * event ) + + + contentsDropEvent + contentsDropEvent + ( QDropEvent * event ) + + + contentsMouseDoubleClickEvent + contentsMouseDoubleClickEvent + ( QMouseEvent * e ) + + + contentsMouseMoveEvent + contentsMouseMoveEvent + ( QMouseEvent * e ) + + + contentsMousePressEvent + contentsMousePressEvent + ( QMouseEvent * e ) + + + contentsMouseReleaseEvent + contentsMouseReleaseEvent + ( QMouseEvent * e ) + + + contentsMoving + contentsMoving + ( int x, int y ) + + + contentsToViewport + contentsToViewport + ( int x, int y, int & vx, int & vy ) + + + contentsToViewport + contentsToViewport-2 + ( const QPoint & p ) + + + contentsWheelEvent + contentsWheelEvent + ( QWheelEvent * e ) + + + cornerWidget + cornerWidget + () + + + drawContents + drawContents + ( QPainter * p, int clipx, int clipy, int clipw, int cliph ) + + + drawContentsOffset + drawContentsOffset + ( QPainter * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph ) + + + enableClipper + enableClipper + ( bool y ) + + + ensureVisible + ensureVisible + ( int x, int y ) + + + ensureVisible + ensureVisible-2 + ( int x, int y, int xmargin, int ymargin ) + + + eventFilter + eventFilter + ( QObject * obj, QEvent * e ) + + + hasStaticBackground + hasStaticBackground + () + + + horizontalScrollBar + horizontalScrollBar + () + + + horizontalSliderPressed + horizontalSliderPressed + () + + + horizontalSliderReleased + horizontalSliderReleased + () + + + isHorizontalSliderPressed + isHorizontalSliderPressed + () + + + isVerticalSliderPressed + isVerticalSliderPressed + () + + + leftMargin + leftMargin + () + + + moveChild + moveChild + ( QWidget * child, int x, int y ) + + + removeChild + removeChild + ( QWidget * child ) + + + repaintContents + repaintContents + ( int x, int y, int w, int h, bool erase = true ) + + + repaintContents + repaintContents-2 + ( const QRect & r, bool erase = true ) + + + repaintContents + repaintContents-3 + ( bool erase = true ) + + + resizeContents + resizeContents + ( int w, int h ) + + + rightMargin + rightMargin + () + + + scrollBy + scrollBy + ( int dx, int dy ) + + + setContentsPos + setContentsPos + ( int x, int y ) + + + setCornerWidget + setCornerWidget + ( QWidget * corner ) + + + setHBarGeometry + setHBarGeometry + ( QScrollBar & hbar, int x, int y, int w, int h ) + + + setMargins + setMargins + ( int left, int top, int right, int bottom ) + + + setStaticBackground + setStaticBackground + ( bool y ) + + + setVBarGeometry + setVBarGeometry + ( QScrollBar & vbar, int x, int y, int w, int h ) + + + topMargin + topMargin + () + + + updateContents + updateContents + ( int x, int y, int w, int h ) + + + updateContents + updateContents-2 + ( const QRect & r ) + + + updateContents + updateContents-3 + () + + + updateScrollBars + updateScrollBars + () + + + verticalScrollBar + verticalScrollBar + () + + + verticalSliderPressed + verticalSliderPressed + () + + + verticalSliderReleased + verticalSliderReleased + () + + + viewport + viewport + () + + + viewportPaintEvent + viewportPaintEvent + ( QPaintEvent * pe ) + + + viewportResizeEvent + viewportResizeEvent + ( QResizeEvent * event ) + + + viewportSize + viewportSize + ( int x, int y ) + + + viewportToContents + viewportToContents + ( int vx, int vy, int & x, int & y ) + + + viewportToContents + viewportToContents-2 + ( const QPoint & vp ) + + + + Q3Semaphore + q3semaphore.html + + Q3Semaphore + Q3Semaphore + ( int maxcount ) + + + available + available + () + + + total + total + () + + + tryAccess + tryAccess + ( int n ) + + + operator++ + operator-2b-2b + ( int ) + + + operator+= + operator-2b-eq + ( int n ) + + + operator-- + operator-- + ( int ) + + + operator-= + operator--eq + ( int n ) + + + + Q3ServerSocket + q3serversocket.html + + Q3ServerSocket + Q3ServerSocket + ( Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 ) + + + Q3ServerSocket + Q3ServerSocket-2 + ( const QHostAddress & address, Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 ) + + + Q3ServerSocket + Q3ServerSocket-3 + ( QObject * parent = 0, const char * name = 0 ) + + + address + address + () + + + newConnection + newConnection + ( int socket ) + + + ok + ok + () + + + port + port + () + + + setSocket + setSocket + ( int socket ) + + + socket + socket + () + + + socketDevice + socketDevice + () + + + + Q3Shared + q3shared.html + + Q3Shared + Q3Shared + () + + + deref + deref + () + + + ref + ref + () + + + block + block + ( bool b ) + + + isBlocked + isBlocked + () + + + parameter + parameter + () + + + setParameter + setParameter + ( int value ) + + + + Q3Signal + q3signal.html + + Q3Signal + Q3Signal + ( QObject * parent = 0, const char * name = 0 ) + + + activate + activate + () + + + connect + connect + ( const QObject * receiver, const char * member ) + + + disconnect + disconnect + ( const QObject * receiver, const char * member = 0 ) + + + setValue + setValue + ( const QVariant & value ) + + + value + value + () + + + + Q3SimpleRichText + q3simplerichtext.html + + Q3SimpleRichText + Q3SimpleRichText + ( const QString & text, const QFont & fnt, const QString & context = QString() + + + Q3SimpleRichText + Q3SimpleRichText-2 + ( const QString & text, const QFont & fnt, const QString & context, const Q3StyleSheet * sheet, const Q3MimeSourceFactory * factory, int pageBreak = -1, const QColor & linkColor = Qt::blue, bool linkUnderline = true ) + + + adjustSize + adjustSize + () + + + anchorAt + anchorAt + ( const QPoint & pos ) + + + context + context + () + + + draw + draw + ( QPainter * p, int x, int y, const QRect & clipRect, const QColorGroup & cg, const QBrush * paper = 0 ) + + + draw + draw-2 + ( QPainter * p, int x, int y, const QRegion & clipRegion, const QColorGroup & cg, const QBrush * paper = 0 ) + + + height + height + () + + + inText + inText + ( const QPoint & pos ) + + + setDefaultFont + setDefaultFont + ( const QFont & f ) + + + setWidth + setWidth + ( QPainter * p, int w ) + + + setWidth + setWidth-2 + ( int w ) + + + width + width + () + + + widthUsed + widthUsed + () + + + + Q3Socket + q3socket.html + + Error + Error-enum + + + + State + State-enum + + + + Q3Socket + Q3Socket + ( QObject * parent = 0, const char * name = 0 ) + + + address + address + () + + + at + at + () + + + at + at-2 + ( Offset index ) + + + atEnd + atEnd + () + + + bytesAvailable + bytesAvailable + () + + + bytesToWrite + bytesToWrite + () + + + bytesWritten + bytesWritten + ( int nbytes ) + + + canReadLine + canReadLine + () + + + clearPendingData + clearPendingData + () + + + close + close + () + + + connectToHost + connectToHost + ( const QString & host, Q_UINT16 port ) + + + connected + connected + () + + + connectionClosed + connectionClosed + () + + + delayedCloseFinished + delayedCloseFinished + () + + + error + error + ( int error ) + + + flush + flush + () + + + getch + getch + () + + + hostFound + hostFound + () + + + open + open + ( OpenMode m ) + + + open + open-2 + ( int m ) + + + peerAddress + peerAddress + () + + + peerName + peerName + () + + + peerPort + peerPort + () + + + port + port + () + + + putch + putch + ( int ch ) + + + readBufferSize + readBufferSize + () + + + readData + readData + ( char * data, qint64 maxlen ) + + + readyRead + readyRead + () + + + setReadBufferSize + setReadBufferSize + ( Q_ULONG bufSize ) + + + setSocket + setSocket + ( int socket ) + + + setSocketDevice + setSocketDevice + ( Q3SocketDevice * device ) + + + size + size + () + + + socket + socket + () + + + socketDevice + socketDevice + () + + + state + state + () + + + ungetch + ungetch + ( int ch ) + + + waitForMore + waitForMore + ( int msecs, bool * timeout ) + + + waitForMore + waitForMore-2 + ( int msecs ) + + + writeData + writeData + ( const char * data, qint64 len ) + + + + Q3SocketDevice + q3socketdevice.html + + Error + Error-enum + + + + Protocol + Protocol-enum + + + + Type + Type-enum + + + + Q3SocketDevice + Q3SocketDevice + ( Type type = Stream ) + + + Q3SocketDevice + Q3SocketDevice-2 + ( Type type, Protocol protocol, int dummy ) + + + Q3SocketDevice + Q3SocketDevice-3 + ( int socket, Type type ) + + + accept + accept + () + + + address + address + () + + + addressReusable + addressReusable + () + + + at + at + () + + + at + at-2 + ( Offset offset ) + + + bind + bind + ( const QHostAddress & address, Q_UINT16 port ) + + + blocking + blocking + () + + + bytesAvailable + bytesAvailable + () + + + connect + connect + ( const QHostAddress & addr, Q_UINT16 port ) + + + error + error + () + + + flush + flush + () + + + isValid + isValid + () + + + listen + listen + ( int backlog ) + + + open + open + ( OpenMode mode ) + + + open + open-2 + ( int mode ) + + + peerAddress + peerAddress + () + + + peerPort + peerPort + () + + + port + port + () + + + protocol + protocol + () + + + readBlock + readBlock + ( char * data, Q_ULONG maxlen ) + + + readData + readData + ( char * data, qint64 maxlen ) + + + receiveBufferSize + receiveBufferSize + () + + + sendBufferSize + sendBufferSize + () + + + setAddressReusable + setAddressReusable + ( bool enable ) + + + setBlocking + setBlocking + ( bool enable ) + + + setError + setError + ( Error err ) + + + setReceiveBufferSize + setReceiveBufferSize + ( uint size ) + + + setSendBufferSize + setSendBufferSize + ( uint size ) + + + setSocket + setSocket + ( int socket, Type type ) + + + socket + socket + () + + + type + type + () + + + waitForMore + waitForMore + ( int msecs, bool * timeout = 0 ) + + + writeBlock + writeBlock + ( const char * data, Q_ULONG len ) + + + writeBlock + writeBlock-2 + ( const char * data, Q_ULONG len, const QHostAddress & host, Q_UINT16 port ) + + + writeData + writeData + ( const char * data, qint64 len ) + + + + Q3SqlCursor + q3sqlcursor.html + + Mode + Mode-enum + + + + Q3SqlCursor + Q3SqlCursor + ( const QString & name = QString() + + + Q3SqlCursor + Q3SqlCursor-2 + ( const Q3SqlCursor & other ) + + + append + append + ( const Q3SqlFieldInfo & fieldInfo ) + + + calculateField + calculateField + ( const QString & name ) + + + canDelete + canDelete + () + + + canInsert + canInsert + () + + + canUpdate + canUpdate + () + + + clear + clear + () + + + del + del + ( bool invalidate = true ) + + + del + del-2 + ( const QString & filter, bool invalidate = true ) + + + editBuffer + editBuffer + ( bool copy = false ) + + + exec + exec + ( const QString & sql ) + + + filter + filter + () + + + index + index + ( const QStringList & fieldNames ) + + + index + index-2 + ( const QString & fieldName ) + + + insert + insert + ( int pos, const Q3SqlFieldInfo & fieldInfo ) + + + insert + insert-2 + ( bool invalidate = true ) + + + isCalculated + isCalculated + ( const QString & name ) + + + isNull + isNull + ( int i ) + + + isNull + isNull-2 + ( const QString & name ) + + + isReadOnly + isReadOnly + () + + + isTrimmed + isTrimmed + ( const QString & name ) + + + mode + mode + () + + + name + name + () + + + primaryIndex + primaryIndex + ( bool setFromCursor = true ) + + + primeDelete + primeDelete + () + + + primeInsert + primeInsert + () + + + primeUpdate + primeUpdate + () + + + remove + remove + ( int pos ) + + + select + select + ( const QString & filter, const QSqlIndex & sort = QSqlIndex() + + + select + select-2 + () + + + select + select-3 + ( const QSqlIndex & sort ) + + + select + select-4 + ( const QSqlIndex & filter, const QSqlIndex & sort ) + + + setCalculated + setCalculated + ( const QString & name, bool calculated ) + + + setFilter + setFilter + ( const QString & filter ) + + + setGenerated + setGenerated + ( const QString & name, bool generated ) + + + setGenerated + setGenerated-2 + ( int i, bool generated ) + + + setMode + setMode + ( int mode ) + + + setName + setName + ( const QString & name, bool autopopulate = true ) + + + setPrimaryIndex + setPrimaryIndex + ( const QSqlIndex & idx ) + + + setSort + setSort + ( const QSqlIndex & sort ) + + + setTrimmed + setTrimmed + ( const QString & name, bool trim ) + + + setValue + setValue + ( const QString & name, const QVariant & val ) + + + sort + sort + () + + + toString + toString + ( QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) + + + toString + toString-3 + ( const QString & prefix, QSqlField * field, const QString & fieldSep ) + + + toString + toString-4 + ( const QSqlIndex & i, QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) + + + update + update + ( bool invalidate = true ) + + + update + update-2 + ( const QString & filter, bool invalidate = true ) + + + value + value + ( int i ) + + + value + value-2 + ( const QString & name ) + + + operator= + operator-eq + ( const Q3SqlCursor & other ) + + + + Q3SqlEditorFactory + q3sqleditorfactory.html + + Q3SqlEditorFactory + Q3SqlEditorFactory + ( QObject * parent = 0 ) + + + createEditor + createEditor + ( QWidget * parent, const QVariant & variant ) + + + createEditor + createEditor-2 + ( QWidget * parent, const QSqlField * field ) + + + defaultFactory + defaultFactory + () + + + installDefaultFactory + installDefaultFactory + ( Q3SqlEditorFactory * factory ) + + + + Q3SqlFieldInfo + q3sqlfieldinfo.html + + Q3SqlFieldInfo + Q3SqlFieldInfo + ( const QString & name = QString() + + + Q3SqlFieldInfo + Q3SqlFieldInfo-2 + ( const QSqlField & other ) + + + defaultValue + defaultValue + () + + + isCalculated + isCalculated + () + + + isGenerated + isGenerated + () + + + isRequired + isRequired + () + + + isTrim + isTrim + () + + + length + length + () + + + name + name + () + + + precision + precision + () + + + setCalculated + setCalculated + ( bool calculated ) + + + setGenerated + setGenerated + ( bool generated ) + + + setTrim + setTrim + ( bool trim ) + + + toField + toField + () + + + Type + type + Q3SqlFieldInfo::type() + + + typeID + typeID + () + + + operator== + operator-eq-eq + ( const Q3SqlFieldInfo & other ) + + + + Q3SqlForm + q3sqlform.html + + Q3SqlForm + Q3SqlForm + ( QObject * parent = 0 ) + + + clear + clear + () + + + clearValues + clearValues + () + + + count + count + () + + + fieldToWidget + fieldToWidget + ( QSqlField * field ) + + + insert + insert + ( QWidget * widget, const QString & field ) + + + insert + insert-2 + ( QWidget * widget, QSqlField * field ) + + + installPropertyMap + installPropertyMap + ( Q3SqlPropertyMap * pmap ) + + + readField + readField + ( QWidget * widget ) + + + readFields + readFields + () + + + remove + remove + ( QWidget * widget ) + + + remove + remove-2 + ( const QString & field ) + + + setRecord + setRecord + ( QSqlRecord * buf ) + + + widget + widget + ( int i ) + + + widgetToField + widgetToField + ( QWidget * widget ) + + + writeField + writeField + ( QWidget * widget ) + + + writeFields + writeFields + () + + + + Q3SqlPropertyMap + q3sqlpropertymap.html + + Q3SqlPropertyMap + Q3SqlPropertyMap + () + + + defaultMap + defaultMap + () + + + insert + insert + ( const QString & classname, const QString & property ) + + + installDefaultMap + installDefaultMap + ( Q3SqlPropertyMap * map ) + + + property + property + ( QWidget * widget ) + + + remove + remove + ( const QString & classname ) + + + setProperty + setProperty + ( QWidget * widget, const QVariant & value ) + + + + Q3SqlRecordInfo + q3sqlrecordinfo.html + + Q3SqlRecordInfo + Q3SqlRecordInfo + () + + + Q3SqlRecordInfo + Q3SqlRecordInfo-2 + ( const Q3SqlFieldInfoList & other ) + + + Q3SqlRecordInfo + Q3SqlRecordInfo-3 + ( const QSqlRecord & other ) + + + contains + contains + ( const QString & fieldName ) + + + find + find + ( const QString & fieldName ) + + + toRecord + toRecord + () + + + + Q3SqlSelectCursor + q3sqlselectcursor.html + + Q3SqlSelectCursor + Q3SqlSelectCursor + ( const QString & query = QString() + + + Q3SqlSelectCursor + Q3SqlSelectCursor-2 + ( const Q3SqlSelectCursor & other ) + + + + Q3StoredDrag + q3storeddrag.html + + Q3StoredDrag + Q3StoredDrag + ( const char * mimeType, QWidget * dragSource = 0, const char * name = 0 ) + + + encodedData + encodedData + ( const char * format ) + + + setEncodedData + setEncodedData + ( const QByteArray & data ) + + + + Q3StrIList + q3strilist.html + + Q3StrIList + Q3StrIList + ( bool deepCopies = true ) + + + + Q3StrList + q3strlist.html + + Q3StrList + Q3StrList + ( bool deepCopies = true ) + + + Q3StrList + Q3StrList-2 + ( const Q3StrList & list ) + + + Q3StrList + Q3StrList-3 + ( const QList<QByteArray> & list ) + + + operator + operator-QList-ltQByteArray-gt + QList<QByteArray>() + + + operator= + operator-eq + ( const Q3StrList & list ) + + + operator= + operator-eq-2 + ( const QList<QByteArray> & list ) + + + + Q3StrListIterator + q3strlistiterator.html + + + Q3StyleSheet + q3stylesheet.html + + Q3StyleSheet + Q3StyleSheet + ( QObject * parent = 0, const char * name = 0 ) + + + convertFromPlainText + convertFromPlainText + ( const QString & plain, Q3StyleSheetItem::WhiteSpaceMode mode = Q3StyleSheetItem::WhiteSpacePre ) + + + defaultSheet + defaultSheet + () + + + error + error + ( const QString & msg ) + + + escape + escape + ( const QString & plain ) + + + item + item + ( const QString & name ) + + + item + item-2 + ( const QString & name ) + + + mightBeRichText + mightBeRichText + ( const QString & text ) + + + scaleFont + scaleFont + ( QFont & font, int logicalSize ) + + + setDefaultSheet + setDefaultSheet + ( Q3StyleSheet * sheet ) + + + + Q3StyleSheetItem + q3stylesheetitem.html + + DisplayMode + DisplayMode-enum + + + + ListStyle + ListStyle-enum + + + + Margin + Margin-enum + + + + VerticalAlignment + VerticalAlignment-enum + + + + WhiteSpaceMode + WhiteSpaceMode-enum + + + + Q3StyleSheetItem + Q3StyleSheetItem + ( Q3StyleSheet * parent, const QString & name ) + + + Q3StyleSheetItem + Q3StyleSheetItem-2 + ( const Q3StyleSheetItem & other ) + + + alignment + alignment + () + + + allowedInContext + allowedInContext + ( const Q3StyleSheetItem * s ) + + + color + color + () + + + contexts + contexts + () + + + definesFontItalic + definesFontItalic + () + + + definesFontStrikeOut + definesFontStrikeOut + () + + + definesFontUnderline + definesFontUnderline + () + + + displayMode + displayMode + () + + + fontFamily + fontFamily + () + + + fontItalic + fontItalic + () + + + fontSize + fontSize + () + + + fontStrikeOut + fontStrikeOut + () + + + fontUnderline + fontUnderline + () + + + fontWeight + fontWeight + () + + + isAnchor + isAnchor + () + + + lineSpacing + lineSpacing + () + + + listStyle + listStyle + () + + + logicalFontSize + logicalFontSize + () + + + logicalFontSizeStep + logicalFontSizeStep + () + + + margin + margin + ( Margin m ) + + + name + name + () + + + numberOfColumns + numberOfColumns + () + + + selfNesting + selfNesting + () + + + setAlignment + setAlignment + ( int f ) + + + setAnchor + setAnchor + ( bool anc ) + + + setColor + setColor + ( const QColor & c ) + + + setContexts + setContexts + ( const QString & c ) + + + setDisplayMode + setDisplayMode + ( DisplayMode m ) + + + setFontFamily + setFontFamily + ( const QString & fam ) + + + setFontItalic + setFontItalic + ( bool italic ) + + + setFontSize + setFontSize + ( int s ) + + + setFontStrikeOut + setFontStrikeOut + ( bool strikeOut ) + + + setFontUnderline + setFontUnderline + ( bool underline ) + + + setFontWeight + setFontWeight + ( int w ) + + + setListStyle + setListStyle + ( ListStyle s ) + + + setLogicalFontSize + setLogicalFontSize + ( int s ) + + + setLogicalFontSizeStep + setLogicalFontSizeStep + ( int s ) + + + setMargin + setMargin + ( Margin m, int v ) + + + setNumberOfColumns + setNumberOfColumns + ( int ncols ) + + + setSelfNesting + setSelfNesting + ( bool nesting ) + + + setVerticalAlignment + setVerticalAlignment + ( VerticalAlignment valign ) + + + setWhiteSpaceMode + setWhiteSpaceMode + ( WhiteSpaceMode m ) + + + styleSheet + styleSheet + () + + + styleSheet + styleSheet-2 + () + + + verticalAlignment + verticalAlignment + () + + + whiteSpaceMode + whiteSpaceMode + () + + + operator= + operator-eq + ( const Q3StyleSheetItem & other ) + + + + Q3SyntaxHighlighter + q3syntaxhighlighter.html + + Q3SyntaxHighlighter + Q3SyntaxHighlighter + ( Q3TextEdit * textEdit ) + + + currentParagraph + currentParagraph + () + + + highlightParagraph + highlightParagraph + ( const QString & text, int endStateOfLastPara ) + + + rehighlight + rehighlight + () + + + setFormat + setFormat + ( int start, int count, const QFont & font, const QColor & color ) + + + setFormat + setFormat-2 + ( int start, int count, const QColor & color ) + + + setFormat + setFormat-3 + ( int start, int count, const QFont & font ) + + + textEdit + textEdit + () + + + isTabEnabled + isTabEnabled-2 + ( const char * name ) + + + setTabEnabled + setTabEnabled-2 + ( const char * name, bool enable ) + + + + Q3TabDialog + q3tabdialog.html + + Q3TabDialog + Q3TabDialog + ( QWidget * parent = 0, const char * name = 0, bool modal = false, Qt::WindowFlags f = 0 ) + + + aboutToShow + aboutToShow + () + + + addTab + addTab + ( QWidget * child, const QString & label ) + + + addTab + addTab-2 + ( QWidget * child, const QIcon & iconset, const QString & label ) + + + applyButtonPressed + applyButtonPressed + () + + + cancelButtonPressed + cancelButtonPressed + () + + + changeTab + changeTab + ( QWidget * w, const QIcon & iconset, const QString & label ) + + + changeTab + changeTab-2 + ( QWidget * w, const QString & label ) + + + currentChanged + currentChanged + ( QWidget * widget ) + + + currentPage + currentPage + () + + + defaultButtonPressed + defaultButtonPressed + () + + + hasApplyButton + hasApplyButton + () + + + hasCancelButton + hasCancelButton + () + + + hasDefaultButton + hasDefaultButton + () + + + hasHelpButton + hasHelpButton + () + + + hasOkButton + hasOkButton + () + + + helpButtonPressed + helpButtonPressed + () + + + insertTab + insertTab + ( QWidget * child, const QString & label, int index = -1 ) + + + insertTab + insertTab-2 + ( QWidget * child, const QIcon & iconset, const QString & label, int index = -1 ) + + + isTabEnabled + isTabEnabled + ( QWidget * w ) + + + removePage + removePage + ( QWidget * w ) + + + selected + selected + ( const QString & name ) + + + setApplyButton + setApplyButton + ( const QString & text ) + + + setApplyButton + setApplyButton-2 + () + + + setCancelButton + setCancelButton + ( const QString & text ) + + + setCancelButton + setCancelButton-2 + () + + + setDefaultButton + setDefaultButton + ( const QString & text ) + + + setDefaultButton + setDefaultButton-2 + () + + + setFont + setFont + ( const QFont & font ) + + + setHelpButton + setHelpButton + ( const QString & text ) + + + setHelpButton + setHelpButton-2 + () + + + setOkButton + setOkButton + ( const QString & text ) + + + setOkButton + setOkButton-2 + () + + + setTabBar + setTabBar + ( QTabBar * tb ) + + + setTabEnabled + setTabEnabled + ( QWidget * w, bool enable ) + + + showPage + showPage + ( QWidget * w ) + + + tabBar + tabBar + () + + + tabLabel + tabLabel + ( QWidget * w ) + + + + Q3Table + q3table.html + + EditMode + EditMode-enum + + + + FocusStyle + FocusStyle-enum + + + + SelectionMode + SelectionMode-enum + + + + Q3Table + Q3Table + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3Table + Q3Table-2 + ( int numRows, int numCols, QWidget * parent = 0, const char * name = 0 ) + + + activateNextCell + activateNextCell + () + + + addSelection + addSelection + ( const Q3TableSelection & s ) + + + adjustColumn + adjustColumn + ( int col ) + + + adjustRow + adjustRow + ( int row ) + + + beginEdit + beginEdit + ( int row, int col, bool replace ) + + + cellGeometry + cellGeometry + ( int row, int col ) + + + cellRect + cellRect + ( int row, int col ) + + + cellWidget + cellWidget + ( int row, int col ) + + + clearCell + clearCell + ( int row, int col ) + + + clearCellWidget + clearCellWidget + ( int row, int col ) + + + clearSelection + clearSelection + ( bool repaint = true ) + + + clicked + clicked + ( int row, int col, int button, const QPoint & mousePos ) + + + columnAt + columnAt + ( int x ) + + + columnClicked + columnClicked + ( int col ) + + + columnIndexChanged + columnIndexChanged + ( int section, int fromIndex, int toIndex ) + + + columnPos + columnPos + ( int col ) + + + columnWidth + columnWidth + ( int col ) + + + columnWidthChanged + columnWidthChanged + ( int col ) + + + contentsDragEnterEvent + contentsDragEnterEvent + ( QDragEnterEvent * e ) + + + contentsDragLeaveEvent + contentsDragLeaveEvent + ( QDragLeaveEvent * e ) + + + contentsDragMoveEvent + contentsDragMoveEvent + ( QDragMoveEvent * e ) + + + contentsDropEvent + contentsDropEvent + ( QDropEvent * e ) + + + contextMenuRequested + contextMenuRequested + ( int row, int col, const QPoint & pos ) + + + createEditor + createEditor + ( int row, int col, bool initFromCell ) + + + currEditCol + currEditCol + () + + + currEditRow + currEditRow + () + + + currentChanged + currentChanged + ( int row, int col ) + + + currentColumn + currentColumn + () + + + currentRow + currentRow + () + + + currentSelection + currentSelection + () + + + doubleClicked + doubleClicked + ( int row, int col, int button, const QPoint & mousePos ) + + + dragEnabled + dragEnabled + () + + + dragObject + dragObject + () + + + drawContents + drawContents + ( QPainter * p, int cx, int cy, int cw, int ch ) + + + dropped + dropped + ( QDropEvent * e ) + + + editCell + editCell + ( int row, int col, bool replace = false ) + + + editMode + editMode + () + + + endEdit + endEdit + ( int row, int col, bool accept, bool replace ) + + + ensureCellVisible + ensureCellVisible + ( int row, int col ) + + + hideColumn + hideColumn + ( int col ) + + + hideRow + hideRow + ( int row ) + + + horizontalHeader + horizontalHeader + () + + + indexOf + indexOf + ( int row, int col ) + + + insertColumns + insertColumns + ( int col, int count = 1 ) + + + insertRows + insertRows + ( int row, int count = 1 ) + + + insertWidget + insertWidget + ( int row, int col, QWidget * w ) + + + isColumnHidden + isColumnHidden + ( int col ) + + + isColumnReadOnly + isColumnReadOnly + ( int col ) + + + isColumnSelected + isColumnSelected + ( int col, bool full = false ) + + + isColumnStretchable + isColumnStretchable + ( int col ) + + + isEditing + isEditing + () + + + isRowHidden + isRowHidden + ( int row ) + + + isRowReadOnly + isRowReadOnly + ( int row ) + + + isRowSelected + isRowSelected + ( int row, bool full = false ) + + + isRowStretchable + isRowStretchable + ( int row ) + + + isSelected + isSelected + ( int row, int col ) + + + item + item + ( int row, int col ) + + + paintCell + paintCell + ( QPainter * p, int row, int col, const QRect & cr, bool selected, const QColorGroup & cg ) + + + paintCell + paintCell-2 + ( QPainter * p, int row, int col, const QRect & cr, bool selected ) + + + paintEmptyArea + paintEmptyArea + ( QPainter * p, int cx, int cy, int cw, int ch ) + + + paintFocus + paintFocus + ( QPainter * p, const QRect & cr ) + + + pixmap + pixmap + ( int row, int col ) + + + pressed + pressed + ( int row, int col, int button, const QPoint & mousePos ) + + + removeColumn + removeColumn + ( int col ) + + + removeColumns + removeColumns + ( const Q3MemArray<int> & cols ) + + + removeRow + removeRow + ( int row ) + + + removeRows + removeRows + ( const Q3MemArray<int> & rows ) + + + removeSelection + removeSelection + ( const Q3TableSelection & s ) + + + removeSelection + removeSelection-2 + ( int num ) + + + repaintSelections + repaintSelections + () + + + resizeData + resizeData + ( int len ) + + + rowAt + rowAt + ( int y ) + + + rowHeight + rowHeight + ( int row ) + + + rowHeightChanged + rowHeightChanged + ( int row ) + + + rowIndexChanged + rowIndexChanged + ( int section, int fromIndex, int toIndex ) + + + rowPos + rowPos + ( int row ) + + + selectCells + selectCells + ( int start_row, int start_col, int end_row, int end_col ) + + + selectColumn + selectColumn + ( int col ) + + + selectRow + selectRow + ( int row ) + + + selection + selection + ( int num ) + + + selectionChanged + selectionChanged + () + + + setCellContentFromEditor + setCellContentFromEditor + ( int row, int col ) + + + setCellWidget + setCellWidget + ( int row, int col, QWidget * e ) + + + setColumnLabels + setColumnLabels + ( const QStringList & labels ) + + + setColumnReadOnly + setColumnReadOnly + ( int col, bool ro ) + + + setColumnStretchable + setColumnStretchable + ( int col, bool stretch ) + + + setColumnWidth + setColumnWidth + ( int col, int w ) + + + setCurrentCell + setCurrentCell + ( int row, int col ) + + + setDragEnabled + setDragEnabled + ( bool b ) + + + setEditMode + setEditMode + ( EditMode mode, int row, int col ) + + + setItem + setItem + ( int row, int col, Q3TableItem * item ) + + + setLeftMargin + setLeftMargin + ( int m ) + + + setPixmap + setPixmap + ( int row, int col, const QPixmap & pix ) + + + setRowHeight + setRowHeight + ( int row, int h ) + + + setRowLabels + setRowLabels + ( const QStringList & labels ) + + + setRowReadOnly + setRowReadOnly + ( int row, bool ro ) + + + setRowStretchable + setRowStretchable + ( int row, bool stretch ) + + + setText + setText + ( int row, int col, const QString & text ) + + + setTopMargin + setTopMargin + ( int m ) + + + showColumn + showColumn + ( int col ) + + + showRow + showRow + ( int row ) + + + sortColumn + sortColumn + ( int col, bool ascending = true, bool wholeRows = false ) + + + startDrag + startDrag + () + + + swapCells + swapCells + ( int row1, int col1, int row2, int col2 ) + + + swapColumns + swapColumns + ( int col1, int col2, bool swapHeader = false ) + + + swapRows + swapRows + ( int row1, int row2, bool swapHeader = false ) + + + takeItem + takeItem + ( Q3TableItem * i ) + + + text + text + ( int row, int col ) + + + updateCell + updateCell + ( int row, int col ) + + + updateHeaderStates + updateHeaderStates + () + + + valueChanged + valueChanged + ( int row, int col ) + + + verticalHeader + verticalHeader + () + + + + Q3TableItem + q3tableitem.html + + EditType + EditType-enum + + + + Q3TableItem + Q3TableItem + ( Q3Table * table, EditType et ) + + + Q3TableItem + Q3TableItem-2 + ( Q3Table * table, EditType et, const QString & text ) + + + Q3TableItem + Q3TableItem-3 + ( Q3Table * table, EditType et, const QString & text, const QPixmap & p ) + + + alignment + alignment + () + + + col + col + () + + + colSpan + colSpan + () + + + createEditor + createEditor + () + + + editType + editType + () + + + isEnabled + isEnabled + () + + + isReplaceable + isReplaceable + () + + + key + key + () + + + paint + paint + ( QPainter * p, const QColorGroup & cg, const QRect & cr, bool selected ) + + + pixmap + pixmap + () + + + row + row + () + + + rowSpan + rowSpan + () + + + rtti + rtti + () + + + setCol + setCol + ( int c ) + + + setContentFromEditor + setContentFromEditor + ( QWidget * w ) + + + setEnabled + setEnabled + ( bool b ) + + + setPixmap + setPixmap + ( const QPixmap & p ) + + + setReplaceable + setReplaceable + ( bool b ) + + + setRow + setRow + ( int r ) + + + setSpan + setSpan + ( int rs, int cs ) + + + setText + setText + ( const QString & str ) + + + setWordWrap + setWordWrap + ( bool b ) + + + sizeHint + sizeHint + () + + + table + table + () + + + text + text + () + + + wordWrap + wordWrap + () + + + + Q3TableSelection + q3tableselection.html + + Q3TableSelection + Q3TableSelection + () + + + Q3TableSelection + Q3TableSelection-2 + ( int start_row, int start_col, int end_row, int end_col ) + + + anchorCol + anchorCol + () + + + anchorRow + anchorRow + () + + + bottomRow + bottomRow + () + + + expandTo + expandTo + ( int row, int col ) + + + init + init + ( int row, int col ) + + + isActive + isActive + () + + + isEmpty + isEmpty + () + + + leftCol + leftCol + () + + + numCols + numCols + () + + + numRows + numRows + () + + + rightCol + rightCol + () + + + topRow + topRow + () + + + operator!= + operator-not-eq + ( const Q3TableSelection & s ) + + + operator== + operator-eq-eq + ( const Q3TableSelection & s ) + + + + Q3TextBrowser + q3textbrowser.html + + Q3TextBrowser + Q3TextBrowser + ( QWidget * parent = 0, const char * name = 0 ) + + + anchorClicked + anchorClicked + ( const QString & name, const QString & link ) + + + backward + backward + () + + + backwardAvailable + backwardAvailable + ( bool available ) + + + forward + forward + () + + + forwardAvailable + forwardAvailable + ( bool available ) + + + highlighted + highlighted + ( const QString & link ) + + + home + home + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * e ) + + + linkClicked + linkClicked + ( const QString & link ) + + + reload + reload + () + + + setText + setText + ( const QString & txt ) + + + sourceChanged + sourceChanged + ( const QString & src ) + + + + Q3TextDrag + q3textdrag.html + + Q3TextDrag + Q3TextDrag + ( const QString & text, QWidget * dragSource = 0, const char * name = 0 ) + + + Q3TextDrag + Q3TextDrag-2 + ( QWidget * dragSource = 0, const char * name = 0 ) + + + canDecode + canDecode + ( const QMimeSource * source ) + + + decode + decode + ( const QMimeSource * source, QString & string ) + + + decode + decode-2 + ( const QMimeSource * source, QString & string, QString & subtype ) + + + setSubtype + setSubtype + ( const QString & subtype ) + + + setText + setText + ( const QString & text ) + + + + Q3TextEdit + q3textedit.html + + CursorAction + CursorAction-enum + + + + KeyboardAction + KeyboardAction-enum + + + + VerticalAlignment + VerticalAlignment-enum + + + + WordWrap + WordWrap-enum + + + + WrapPolicy + WrapPolicy-enum + + + + TextFormat + textFormat-prop + + + + Q3TextEdit + Q3TextEdit + ( const QString & text, const QString & context = QString() + + + Q3TextEdit + Q3TextEdit-2 + ( QWidget * parent = 0, const char * name = 0 ) + + + alignment + alignment + () + + + anchorAt + anchorAt + ( const QPoint & pos, Qt::AnchorAttribute attr = Qt::AnchorHref ) + + + append + append + ( const QString & text ) + + + bold + bold + () + + + charAt + charAt + ( const QPoint & pos, int * para ) + + + clear + clear + () + + + clearParagraphBackground + clearParagraphBackground + ( int para ) + + + clicked + clicked + ( int para, int pos ) + + + color + color + () + + + context + context + () + + + copy + copy + () + + + copyAvailable + copyAvailable + ( bool yes ) + + + createPopupMenu + createPopupMenu + ( const QPoint & pos ) + + + createPopupMenu + createPopupMenu-2 + () + + + currentAlignmentChanged + currentAlignmentChanged + ( int a ) + + + currentColorChanged + currentColorChanged + ( const QColor & c ) + + + currentFont + currentFont + () + + + currentFontChanged + currentFontChanged + ( const QFont & f ) + + + currentVerticalAlignmentChanged + currentVerticalAlignmentChanged + ( Q3TextEdit::VerticalAlignment a ) + + + cursorPositionChanged + cursorPositionChanged + ( int para, int pos ) + + + cut + cut + () + + + del + del + () + + + doKeyboardAction + doKeyboardAction + ( Q3TextEdit::KeyboardAction action ) + + + doubleClicked + doubleClicked + ( int para, int pos ) + + + ensureCursorVisible + ensureCursorVisible + () + + + family + family + () + + + find + find + ( const QString & expr, bool cs, bool wo, bool forward = true, int * para = 0, int * index = 0 ) + + + focusNextPrevChild + focusNextPrevChild + ( bool n ) + + + font + font + () + + + getCursorPosition + getCursorPosition + ( int * para, int * index ) + + + getSelection + getSelection + ( int * paraFrom, int * indexFrom, int * paraTo, int * indexTo, int selNum = 0 ) + + + heightForWidth + heightForWidth + ( int w ) + + + insert + insert + ( const QString & text, uint insertionFlags = CheckNewLines | RemoveSelected ) + + + insert + insert-2 + ( const QString & text, bool indent, bool checkNewLine = true, bool removeSelected = true ) + + + insertAt + insertAt + ( const QString & text, int para, int index ) + + + insertParagraph + insertParagraph + ( const QString & text, int para ) + + + isRedoAvailable + isRedoAvailable + () + + + isUndoAvailable + isUndoAvailable + () + + + italic + italic + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * e ) + + + lineOfChar + lineOfChar + ( int para, int index ) + + + lines + lines + () + + + linesOfParagraph + linesOfParagraph + ( int para ) + + + mimeSourceFactory + mimeSourceFactory + () + + + modificationChanged + modificationChanged + ( bool m ) + + + moveCursor + moveCursor + ( Q3TextEdit::CursorAction action, bool select ) + + + paragraphAt + paragraphAt + ( const QPoint & pos ) + + + paragraphBackgroundColor + paragraphBackgroundColor + ( int para ) + + + paragraphLength + paragraphLength + ( int para ) + + + paragraphRect + paragraphRect + ( int para ) + + + paragraphs + paragraphs + () + + + paste + paste + () + + + pasteSubType + pasteSubType + ( const QByteArray & subtype ) + + + placeCursor + placeCursor + ( const QPoint & pos, Q3TextCursor * c = 0 ) + + + pointSize + pointSize + () + + + redo + redo + () + + + redoAvailable + redoAvailable + ( bool yes ) + + + removeParagraph + removeParagraph + ( int para ) + + + removeSelectedText + removeSelectedText + ( int selNum = 0 ) + + + removeSelection + removeSelection + ( int selNum = 0 ) + + + repaintChanged + repaintChanged + () + + + returnPressed + returnPressed + () + + + scrollToAnchor + scrollToAnchor + ( const QString & name ) + + + scrollToBottom + scrollToBottom + () + + + selectAll + selectAll + ( bool select = true ) + + + selectionChanged + selectionChanged + () + + + setAlignment + setAlignment + ( int a ) + + + setBold + setBold + ( bool b ) + + + setColor + setColor + ( const QColor & c ) + + + setCurrentFont + setCurrentFont + ( const QFont & f ) + + + setCursorPosition + setCursorPosition + ( int para, int index ) + + + setFamily + setFamily + ( const QString & fontFamily ) + + + setItalic + setItalic + ( bool b ) + + + setMimeSourceFactory + setMimeSourceFactory + ( Q3MimeSourceFactory * factory ) + + + setParagraphBackgroundColor + setParagraphBackgroundColor + ( int para, const QColor & bg ) + + + setPointSize + setPointSize + ( int s ) + + + setSelection + setSelection + ( int paraFrom, int indexFrom, int paraTo, int indexTo, int selNum = 0 ) + + + setSelectionAttributes + setSelectionAttributes + ( int selNum, const QColor & back, bool invertText ) + + + setStyleSheet + setStyleSheet + ( Q3StyleSheet * styleSheet ) + + + setUnderline + setUnderline + ( bool b ) + + + setVerticalAlignment + setVerticalAlignment + ( Q3TextEdit::VerticalAlignment a ) + + + styleSheet + styleSheet + () + + + sync + sync + () + + + syntaxHighlighter + syntaxHighlighter + () + + + textChanged + textChanged + () + + + textCursor + textCursor + () + + + underline + underline + () + + + undo + undo + () + + + undoAvailable + undoAvailable + ( bool yes ) + + + verticalAlignment + verticalAlignment + () + + + zoomIn + zoomIn + ( int range ) + + + zoomIn + zoomIn-2 + () + + + zoomOut + zoomOut + ( int range ) + + + zoomOut + zoomOut-2 + () + + + zoomTo + zoomTo + ( int size ) + + + Q3TextStream + Q3TextStream-4 + ( QString & str, int filemode ) + + + eof + eof + () + + + + Q3TextStream + q3textstream.html + + Encoding + Encoding-enum + + + + Q3TextStream + Q3TextStream + () + + + Q3TextStream + Q3TextStream-2 + ( QIODevice * iod ) + + + Q3TextStream + Q3TextStream-3 + ( QString * str, int filemode ) + + + Q3TextStream + Q3TextStream-5 + ( QByteArray & a, int mode ) + + + Q3TextStream + Q3TextStream-6 + ( FILE * fh, int mode ) + + + atEnd + atEnd + () + + + codec + codec + () + + + device + device + () + + + fill + fill + () + + + fill + fill-2 + ( int f ) + + + flags + flags + () + + + flags + flags-2 + ( int f ) + + + precision + precision + () + + + precision + precision-2 + ( int p ) + + + read + read + () + + + readLine + readLine + () + + + readRawBytes + readRawBytes + ( char * s, uint len ) + + + reset + reset + () + + + setCodec + setCodec + ( QTextCodec * codec ) + + + setDevice + setDevice + ( QIODevice * iod ) + + + setEncoding + setEncoding + ( Encoding e ) + + + setf + setf + ( int bits ) + + + setf + setf-2 + ( int bits, int mask ) + + + skipWhiteSpace + skipWhiteSpace + () + + + unsetDevice + unsetDevice + () + + + unsetf + unsetf + ( int bits ) + + + width + width + () + + + width + width-2 + ( int w ) + + + writeRawBytes + writeRawBytes + ( const char * s, uint len ) + + + operator<< + operator-lt-lt + ( QChar c ) + + + operator<< + operator-lt-lt-2 + ( char c ) + + + operator<< + operator-lt-lt-3 + ( signed short i ) + + + operator<< + operator-lt-lt-4 + ( unsigned short i ) + + + operator<< + operator-lt-lt-5 + ( signed int i ) + + + operator<< + operator-lt-lt-6 + ( unsigned int i ) + + + operator<< + operator-lt-lt-7 + ( signed long i ) + + + operator<< + operator-lt-lt-8 + ( unsigned long i ) + + + operator<< + operator-lt-lt-9 + ( float f ) + + + operator<< + operator-lt-lt-10 + ( double f ) + + + operator<< + operator-lt-lt-11 + ( const char * s ) + + + operator<< + operator-lt-lt-12 + ( const Q3CString & s ) + + + operator<< + operator-lt-lt-13 + ( const QString & s ) + + + operator<< + operator-lt-lt-14 + ( void * ptr ) + + + operator>> + operator-gt-gt + ( QChar & c ) + + + operator>> + operator-gt-gt-2 + ( char & c ) + + + operator>> + operator-gt-gt-3 + ( signed short & i ) + + + operator>> + operator-gt-gt-4 + ( unsigned short & i ) + + + operator>> + operator-gt-gt-5 + ( signed int & i ) + + + operator>> + operator-gt-gt-6 + ( unsigned int & i ) + + + operator>> + operator-gt-gt-7 + ( signed long & i ) + + + operator>> + operator-gt-gt-8 + ( unsigned long & i ) + + + operator>> + operator-gt-gt-9 + ( float & f ) + + + operator>> + operator-gt-gt-10 + ( double & f ) + + + operator>> + operator-gt-gt-11 + ( char * s ) + + + operator>> + operator-gt-gt-12 + ( QString & str ) + + + operator>> + operator-gt-gt-13 + ( Q3CString & str ) + + + + Q3TextView + q3textview.html + + + Q3TimeEdit + q3timeedit.html + + Display + Display-enum + + + + Q3TimeEdit + Q3TimeEdit + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3TimeEdit + Q3TimeEdit-2 + ( const QTime & time, QWidget * parent = 0, const char * name = 0 ) + + + sectionFormattedText + sectionFormattedText + ( int sec ) + + + separator + separator + () + + + setHour + setHour + ( int h ) + + + setMinute + setMinute + ( int m ) + + + setRange + setRange + ( const QTime & min, const QTime & max ) + + + setSecond + setSecond + ( int s ) + + + setSeparator + setSeparator + ( const QString & s ) + + + valueChanged + valueChanged + ( const QTime & time ) + + + + Q3ToolBar + q3toolbar.html + + Q3ToolBar + Q3ToolBar + ( const QString & label, Q3MainWindow * parent, Qt::ToolBarDock dock = Qt::DockTop, bool newLine = false, const char * name = 0 ) + + + Q3ToolBar + Q3ToolBar-2 + ( const QString & label, Q3MainWindow * mainWindow, QWidget * parent, bool newLine = false, const char * name = 0, Qt::WindowFlags f = 0 ) + + + Q3ToolBar + Q3ToolBar-3 + ( Q3MainWindow * parent = 0, const char * name = 0 ) + + + addSeparator + addSeparator + () + + + clear + clear + () + + + mainWindow + mainWindow + () + + + setStretchableWidget + setStretchableWidget + ( QWidget * w ) + + + setFilenames + setFilenames-2x + ( const QStringList & list ) + + + + Q3UriDrag + q3uridrag.html + + Q3UriDrag + Q3UriDrag + ( const Q3StrList & uris, QWidget * dragSource = 0, const char * name = 0 ) + + + Q3UriDrag + Q3UriDrag-2 + ( QWidget * dragSource = 0, const char * name = 0 ) + + + canDecode + canDecode + ( const QMimeSource * source ) + + + decode + decode + ( const QMimeSource * source, Q3StrList & list ) + + + decodeLocalFiles + decodeLocalFiles + ( const QMimeSource * source, QStringList & list ) + + + decodeToUnicodeUris + decodeToUnicodeUris + ( const QMimeSource * source, QStringList & list ) + + + localFileToUri + localFileToUri + ( const QString & filename ) + + + setFileNames + setFileNames + ( const QStringList & filenames ) + + + setFileNames + setFileNames-2 + ( const QString & name ) + + + setFilenames + setFilenamesx + ( const QString & name ) + + + setUnicodeUris + setUnicodeUris + ( const QStringList & list ) + + + setUris + setUris + ( const QList<QByteArray> & list ) + + + unicodeUriToUri + unicodeUriToUri + ( const QString & string ) + + + uriToLocalFile + uriToLocalFile + ( const char * string ) + + + uriToUnicodeUri + uriToUnicodeUri + ( const char * string ) + + + + Q3Url + q3url.html + + Q3Url + Q3Url + () + + + Q3Url + Q3Url-2 + ( const QString & url ) + + + Q3Url + Q3Url-3 + ( const Q3Url & url ) + + + Q3Url + Q3Url-4 + ( const Q3Url & url, const QString & relUrl, bool checkSlash = false ) + + + addPath + addPath + ( const QString & pa ) + + + cdUp + cdUp + () + + + decode + decode + ( QString & url ) + + + dirPath + dirPath + () + + + encode + encode + ( QString & url ) + + + encodedPathAndQuery + encodedPathAndQuery + () + + + fileName + fileName + () + + + hasHost + hasHost + () + + + hasPassword + hasPassword + () + + + hasPath + hasPath + () + + + hasPort + hasPort + () + + + hasRef + hasRef + () + + + hasUser + hasUser + () + + + host + host + () + + + isLocalFile + isLocalFile + () + + + isRelativeUrl + isRelativeUrl + ( const QString & url ) + + + isValid + isValid + () + + + parse + parse + ( const QString & url ) + + + password + password + () + + + path + path + ( bool correct = true ) + + + port + port + () + + + protocol + protocol + () + + + query + query + () + + + ref + ref + () + + + reset + reset + () + + + setEncodedPathAndQuery + setEncodedPathAndQuery + ( const QString & pathAndQuery ) + + + setFileName + setFileName + ( const QString & name ) + + + setHost + setHost + ( const QString & host ) + + + setPassword + setPassword + ( const QString & pass ) + + + setPath + setPath + ( const QString & path ) + + + setPort + setPort + ( int port ) + + + setProtocol + setProtocol + ( const QString & protocol ) + + + setQuery + setQuery + ( const QString & txt ) + + + setRef + setRef + ( const QString & txt ) + + + setUser + setUser + ( const QString & user ) + + + toString + toString + ( bool encodedPath = false, bool forcePrependProtocol = true ) + + + user + user + () + + + operator + operator-QString + QString() + + + operator= + operator-eq + ( const Q3Url & url ) + + + operator= + operator-eq-2 + ( const QString & url ) + + + operator== + operator-eq-eq + ( const Q3Url & url ) + + + operator== + operator-eq-eq-2 + ( const QString & url ) + + + + Q3UrlOperator + q3urloperator.html + + Q3UrlOperator + Q3UrlOperator + () + + + Q3UrlOperator + Q3UrlOperator-2 + ( const QString & url ) + + + Q3UrlOperator + Q3UrlOperator-3 + ( const Q3UrlOperator & url ) + + + Q3UrlOperator + Q3UrlOperator-4 + ( const Q3UrlOperator & url, const QString & relUrl, bool checkSlash = false ) + + + clearEntries + clearEntries + () + + + connectionStateChanged + connectionStateChanged + ( int state, const QString & data ) + + + copy + copy + ( const QString & from, const QString & to, bool move = false, bool toPath = true ) + + + copy + copy-2 + ( const QStringList & files, const QString & dest, bool move = false ) + + + createdDirectory + createdDirectory + ( const QUrlInfo & i, Q3NetworkOperation * op ) + + + data + data + ( const QByteArray & data, Q3NetworkOperation * op ) + + + dataTransferProgress + dataTransferProgress + ( int bytesDone, int bytesTotal, Q3NetworkOperation * op ) + + + deleteNetworkProtocol + deleteNetworkProtocol + () + + + finished + finished + ( Q3NetworkOperation * op ) + + + get + get + ( const QString & location = QString() + + + getNetworkProtocol + getNetworkProtocol + () + + + info + info + ( const QString & entry ) + + + isDir + isDir + ( bool * ok = 0 ) + + + itemChanged + itemChanged + ( Q3NetworkOperation * op ) + + + listChildren + listChildren + () + + + mkdir + mkdir + ( const QString & dirname ) + + + nameFilter + nameFilter + () + + + newChildren + newChildren + ( const Q3ValueList<QUrlInfo> & i, Q3NetworkOperation * op ) + + + put + put + ( const QByteArray & data, const QString & location = QString() + + + remove + remove + ( const QString & filename ) + + + removed + removed + ( Q3NetworkOperation * op ) + + + rename + rename + ( const QString & oldname, const QString & newname ) + + + setNameFilter + setNameFilter + ( const QString & nameFilter ) + + + start + start + ( Q3NetworkOperation * op ) + + + startedNextCopy + startedNextCopy + ( const Q3PtrList<Q3NetworkOperation> & lst ) + + + stop + stop + () + + + operator= + operator-eq + ( const Q3UrlOperator & url ) + + + operator= + operator-eq-2 + ( const QString & url ) + + + + Q3ValueList + q3valuelist.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + const_iterator + const_iterator-typedef + + + + const_pointer + const_pointer-typedef + + + + const_reference + const_reference-typedef + + + + iterator + iterator-typedefx + + + + pointer + pointer-typedef + + + + reference + reference-typedef + + + + size_type + size_type-typedef + + + + value_type + value_type-typedef + + + + Q3ValueList + Q3ValueList + () + + + Q3ValueList + Q3ValueList-2 + ( const Q3ValueList<T> & l ) + + + Q3ValueList + Q3ValueList-3 + ( const QLinkedList<T> & l ) + + + Q3ValueList + Q3ValueList-4 + ( const QList<T> & l ) + + + Q3ValueList + Q3ValueList-5 + ( const std::list<T> & l ) + + + append + append + ( const T & x ) + + + at + at + ( Q3ValueList<T>::size_type i ) + + + at + at-2 + ( Q3ValueList<T>::size_type i ) + + + contains + contains + ( const T & x ) + + + fromLast + fromLast + () + + + fromLast + fromLast-2 + () + + + insert + insert + ( Q3ValueList<T>::Iterator it, const T & x ) + + + insert + insert-2 + ( Q3ValueList<T>::Iterator pos, Q3ValueList<T>::size_type n, const T & x ) + + + prepend + prepend + ( const T & x ) + + + remove + remove + ( Q3ValueList<T>::Iterator it ) + + + remove + remove-2 + ( const T & x ) + + + operator + operator-QList-ltT-gt + QList<T>() + + + operator!= + operator-not-eq + ( const Q3ValueList<T> & l ) + + + operator+ + operator-2b + ( const Q3ValueList<T> & l ) + + + operator+= + operator-2b-eq + ( const Q3ValueList<T> & l ) + + + operator+= + operator-2b-eq-2 + ( const T & x ) + + + operator<< + operator-lt-lt + ( const T & x ) + + + operator= + operator-eq + ( const Q3ValueList<T> & l ) + + + operator= + operator-eq-2 + ( const QList<T> & l ) + + + operator= + operator-eq-3 + ( const std::list<T> & l ) + + + operator== + operator-eq-eq + ( const Q3ValueList<T> & l ) + + + operator== + operator-eq-eq-2 + ( const std::list<T> & l ) + + + operator[] + operator-5b-5d + ( Q3ValueList<T>::size_type i ) + + + operator[] + operator-5b-5d-2 + ( Q3ValueList<T>::size_type i ) + + + + Q3ValueListConstIterator + q3valuelistconstiterator.html + + Q3ValueListConstIterator + Q3ValueListConstIterator + () + + + Q3ValueListConstIterator + Q3ValueListConstIterator-2 + ( const Q3ValueListConstIterator & o ) + + + Q3ValueListConstIterator + Q3ValueListConstIterator-3 + ( const QLinkedList<T>::const_iterator & o ) + + + Q3ValueListConstIterator + Q3ValueListConstIterator-4 + ( const QLinkedList<T>::iterator & o ) + + + + Q3ValueListIterator + q3valuelistiterator.html + + Q3ValueListIterator + Q3ValueListIterator + () + + + Q3ValueListIterator + Q3ValueListIterator-2 + ( const Q3ValueListIterator & o ) + + + Q3ValueListIterator + Q3ValueListIterator-3 + ( const QLinkedList<T>::iterator & o ) + + + + Q3ValueStack + q3valuestack.html + + Q3ValueStack + Q3ValueStack + () + + + pop + pop + () + + + push + push + ( const T & d ) + + + top + top + () + + + top + top-2 + () + + + + Q3ValueVector + q3valuevector.html + + Q3ValueVector + Q3ValueVector + () + + + Q3ValueVector + Q3ValueVector-2 + ( const Q3ValueVector<T> & v ) + + + Q3ValueVector + Q3ValueVector-3 + ( QVector<T>::size_type n, const T & val = T() + + + Q3ValueVector + Q3ValueVector-4 + ( const std::vector<T> & v ) + + + at + at + ( int i, bool * ok = 0 ) + + + at + at-2 + ( int i, bool * ok = 0 ) + + + resize + resize + ( int n, const T & val = T() + + + operator= + operator-eq + ( const Q3ValueVector<T> & v ) + + + operator= + operator-eq-2 + ( const std::vector<T> & v ) + + + + Q3VBox + q3vbox.html + + Q3VBox + Q3VBox + ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + + Q3VButtonGroup + q3vbuttongroup.html + + Q3VButtonGroup + Q3VButtonGroup + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3VButtonGroup + Q3VButtonGroup-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + + Q3VGroupBox + q3vgroupbox.html + + Q3VGroupBox + Q3VGroupBox + ( QWidget * parent = 0, const char * name = 0 ) + + + Q3VGroupBox + Q3VGroupBox-2 + ( const QString & title, QWidget * parent = 0, const char * name = 0 ) + + + + Q3WhatsThis + q3whatsthis.html + + Q3WhatsThis + Q3WhatsThis + ( QWidget * widget ) + + + add + add + ( QWidget * widget, const QString & text ) + + + clicked + clicked + ( const QString & href ) + + + display + display + ( const QString & text, const QPoint & pos = QCursor::pos() + + + enterWhatsThisMode + enterWhatsThisMode + () + + + inWhatsThisMode + inWhatsThisMode + () + + + leaveWhatsThisMode + leaveWhatsThisMode + ( const QString & text = QString() + + + remove + remove + ( QWidget * widget ) + + + text + text + ( const QPoint & pos ) + + + whatsThisButton + whatsThisButton + ( QWidget * parent ) + + + + Q3WidgetStack + q3widgetstack.html + + Q3WidgetStack + Q3WidgetStack + ( QWidget * parent, const char * name = 0, Qt::WindowFlags f = 0 ) + + + aboutToShow + aboutToShow + ( int id ) + + + aboutToShow + aboutToShow-2 + ( QWidget * widget ) + + + addWidget + addWidget + ( QWidget * w, int id = -1 ) + + + id + id + ( QWidget * widget ) + + + raiseWidget + raiseWidget + ( int id ) + + + raiseWidget + raiseWidget-2 + ( QWidget * w ) + + + removeWidget + removeWidget + ( QWidget * w ) + + + setChildGeometries + setChildGeometries + () + + + visibleWidget + visibleWidget + () + + + widget + widget + ( int id ) + + + setFinish + setFinish + ( QWidget * widget, bool finish ) + + + + Q3Wizard + q3wizard.html + + Q3Wizard + Q3Wizard + ( QWidget * parent = 0, const char * name = 0, bool modal = false, Qt::WindowFlags f = 0 ) + + + addPage + addPage + ( QWidget * page, const QString & title ) + + + appropriate + appropriate + ( QWidget * page ) + + + back + back + () + + + backButton + backButton + () + + + cancelButton + cancelButton + () + + + currentPage + currentPage + () + + + finishButton + finishButton + () + + + help + help + () + + + helpButton + helpButton + () + + + helpClicked + helpClicked + () + + + indexOf + indexOf + ( QWidget * page ) + + + insertPage + insertPage + ( QWidget * page, const QString & title, int index ) + + + layOutButtonRow + layOutButtonRow + ( QHBoxLayout * layout ) + + + layOutTitleRow + layOutTitleRow + ( QHBoxLayout * layout, const QString & title ) + + + next + next + () + + + nextButton + nextButton + () + + + page + page + ( int index ) + + + pageCount + pageCount + () + + + removePage + removePage + ( QWidget * page ) + + + selected + selected + ( const QString & title ) + + + setAppropriate + setAppropriate + ( QWidget * page, bool appropriate ) + + + setBackEnabled + setBackEnabled + ( QWidget * page, bool enable ) + + + setFinishEnabled + setFinishEnabled + ( QWidget * page, bool enable ) + + + setHelpEnabled + setHelpEnabled + ( QWidget * page, bool enable ) + + + setNextEnabled + setNextEnabled + ( QWidget * page, bool enable ) + + + setTitle + setTitle + ( QWidget * page, const QString & title ) + + + showPage + showPage + ( QWidget * page ) + + + title + title + ( QWidget * page ) + + + QAbstractButton + QAbstractButton-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + accel + accel + () + + + iconSet + iconSet + () + + + isOn + isOn + () + + + isToggleButton + isToggleButton + () + + + pixmap + pixmap + () + + + setAccel + setAccel + ( const QKeySequence & key ) + + + setIconSet + setIconSet + ( const QIcon & icon ) + + + setOn + setOn + ( bool b ) + + + setPixmap + setPixmap + ( const QPixmap & p ) + + + setToggleButton + setToggleButton + ( bool b ) + + + + QAbstractButton + qabstractbutton.html + + QAbstractButton + QAbstractButton + ( QWidget * parent = 0 ) + + + animateClick + animateClick + ( int msec = 100 ) + + + checkStateSet + checkStateSet + () + + + click + click + () + + + clicked + clicked + ( bool checked = false ) + + + group + group + () + + + hitButton + hitButton + ( const QPoint & pos ) + + + nextCheckState + nextCheckState + () + + + pressed + pressed + () + + + released + released + () + + + toggle + toggle + () + + + toggled + toggled + ( bool checked ) + + + QAbstractButton + QAbstractButton-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + accel + accel + () + + + iconSet + iconSet + () + + + isOn + isOn + () + + + isToggleButton + isToggleButton + () + + + pixmap + pixmap + () + + + setAccel + setAccel + ( const QKeySequence & key ) + + + setIconSet + setIconSet + ( const QIcon & icon ) + + + setOn + setOn + ( bool b ) + + + setPixmap + setPixmap + ( const QPixmap & p ) + + + setToggleButton + setToggleButton + ( bool b ) + + + + QAbstractEventDispatcher + qabstracteventdispatcher.html + + EventFilter + EventFilter-typedef + + + + TimerInfo + TimerInfo-typedef + + + + QAbstractEventDispatcher + QAbstractEventDispatcher + ( QObject * parent = 0 ) + + + aboutToBlock + aboutToBlock + () + + + awake + awake + () + + + filterEvent + filterEvent + ( void * message ) + + + flush + flush + () + + + hasPendingEvents + hasPendingEvents + () + + + instance + instance + ( QThread * thread = 0 ) + + + interrupt + interrupt + () + + + processEvents + processEvents + ( QEventLoop::ProcessEventsFlags flags ) + + + registerSocketNotifier + registerSocketNotifier + ( QSocketNotifier * notifier ) + + + registerTimer + registerTimer + ( int interval, QObject * object ) + + + registerTimer + registerTimer-2 + ( int timerId, int interval, QObject * object ) + + + registeredTimers + registeredTimers + ( QObject * object ) + + + setEventFilter + setEventFilter + ( EventFilter filter ) + + + unregisterSocketNotifier + unregisterSocketNotifier + ( QSocketNotifier * notifier ) + + + unregisterTimer + unregisterTimer + ( int timerId ) + + + unregisterTimers + unregisterTimers + ( QObject * object ) + + + wakeUp + wakeUp + () + + + + QAbstractExtensionFactory + qabstractextensionfactory.html + + extension + extension + ( QObject * object, const QString & iid ) + + + + QAbstractExtensionManager + qabstractextensionmanager.html + + extension + extension + ( QObject * object, const QString & iid ) + + + registerExtensions + registerExtensions + ( QAbstractExtensionFactory * factory, const QString & iid ) + + + unregisterExtensions + unregisterExtensions + ( QAbstractExtensionFactory * factory, const QString & iid ) + + + + QAbstractFileEngine::ExtensionOption + qabstractfileengine-extensionoption.html + + + QAbstractFileEngine::ExtensionReturn + qabstractfileengine-extensionreturn.html + + + QAbstractFileEngine + qabstractfileengine.html + + Extension + Extension-enum + + + + FileName + FileName-enum + + + + FileOwner + FileOwner-enum + + + + FileTime + FileTime-enum + + + + Iterator + Iterator-typedef + + + + QAbstractFileEngine + QAbstractFileEngine + () + + + atEnd + atEnd + () + + + beginEntryList + beginEntryList + ( QDir::Filters filters, const QStringList & filterNames ) + + + caseSensitive + caseSensitive + () + + + close + close + () + + + copy + copy + ( const QString & newName ) + + + create + create + ( const QString & fileName ) + + + entryList + entryList + ( QDir::Filters filters, const QStringList & filterNames ) + + + FileError + error + QAbstractFileEngine::error() + + + errorString + errorString + () + + + extension + extension + ( Extension extension, const ExtensionOption * option = 0, ExtensionReturn * output = 0 ) + + + fileFlags + fileFlags + ( FileFlags type = FileInfoAll ) + + + fileName + fileName + ( FileName file = DefaultName ) + + + fileTime + fileTime + ( FileTime time ) + + + flush + flush + () + + + handle + handle + () + + + isRelativePath + isRelativePath + () + + + isSequential + isSequential + () + + + link + link + ( const QString & newName ) + + + mkdir + mkdir + ( const QString & dirName, bool createParentDirectories ) + + + open + open + ( QIODevice::OpenMode mode ) + + + owner + owner + ( FileOwner owner ) + + + ownerId + ownerId + ( FileOwner owner ) + + + pos + pos + () + + + read + read + ( char * data, qint64 maxlen ) + + + readLine + readLine + ( char * data, qint64 maxlen ) + + + remove + remove + () + + + rename + rename + ( const QString & newName ) + + + rmdir + rmdir + ( const QString & dirName, bool recurseParentDirectories ) + + + seek + seek + ( qint64 offset ) + + + setError + setError + ( QFile::FileError error, const QString & errorString ) + + + setFileName + setFileName + ( const QString & file ) + + + setPermissions + setPermissions + ( uint perms ) + + + setSize + setSize + ( qint64 size ) + + + size + size + () + + + supportsExtension + supportsExtension + ( Extension extension ) + + + write + write + ( const char * data, qint64 len ) + + + Iterator + Iterator-typedef + + + + + QAbstractFileEngineHandler + qabstractfileenginehandler.html + + QAbstractFileEngineHandler + QAbstractFileEngineHandler + () + + + create + create + ( const QString & fileName ) + + + + QAbstractFileEngineIterator + qabstractfileengineiterator.html + + QAbstractFileEngineIterator + QAbstractFileEngineIterator + ( QDir::Filters filters, const QStringList & nameFilters ) + + + currentFileInfo + currentFileInfo + () + + + currentFileName + currentFileName + () + + + currentFilePath + currentFilePath + () + + + Filters + filters + QAbstractFileEngineIterator::filters() + + + hasNext + hasNext + () + + + nameFilters + nameFilters + () + + + next + next + () + + + path + path + () + + + + QAbstractFontEngine::FixedPoint + qabstractfontengine-fixedpoint.html + + x + x-var + + + + y + y-var + + + + + QAbstractFontEngine::GlyphMetrics + qabstractfontengine-glyphmetrics.html + + GlyphMetrics + GlyphMetricsx + () + + + advance + advance-var + + + + height + height-var + + + + width + width-var + + + + x + x-var + + + + y + y-var + + + + + QAbstractFontEngine + qabstractfontengine.html + + Fixed + Fixed-typedef + + + + FontProperty + FontProperty-enum + + + + QAbstractFontEngine + QAbstractFontEngine + ( QObject * parent = 0 ) + + + addGlyphOutlinesToPath + addGlyphOutlinesToPath + ( uint * glyphs, int numGlyphs, FixedPoint * positions, QPainterPath * path ) + + + capabilities + capabilities + () + + + convertStringToGlyphIndices + convertStringToGlyphIndices + ( const QChar * string, int length, uint * glyphs, int * numGlyphs, TextShapingFlags flags ) + + + fontProperty + fontProperty + ( FontProperty property ) + + + getGlyphAdvances + getGlyphAdvances + ( const uint * glyphs, int numGlyphs, Fixed * advances, TextShapingFlags flags ) + + + glyphMetrics + glyphMetrics + ( uint glyph ) + + + renderGlyph + renderGlyph + ( uint glyph, int depth, int bytesPerLine, int height, uchar * buffer ) + + + + QAbstractFormBuilder + qabstractformbuilder.html + + QAbstractFormBuilder + QAbstractFormBuilder + () + + + load + load + ( QIODevice * device, QWidget * parent = 0 ) + + + save + save + ( QIODevice * device, QWidget * widget ) + + + setWorkingDirectory + setWorkingDirectory + ( const QDir & directory ) + + + workingDirectory + workingDirectory + () + + + + QAbstractGraphicsShapeItem + qabstractgraphicsshapeitem.html + + QAbstractGraphicsShapeItem + QAbstractGraphicsShapeItem + ( QGraphicsItem * parent = 0 ) + + + brush + brush + () + + + pen + pen + () + + + setBrush + setBrush + ( const QBrush & brush ) + + + setPen + setPen + ( const QPen & pen ) + + + elidedText + elidedText + ( const QFontMetrics & fontMetrics, int width, Qt::TextElideMode mode, const QString & text ) + + + + QAbstractItemDelegate + qabstractitemdelegate.html + + EndEditHint + EndEditHint-enum + + + + QAbstractItemDelegate + QAbstractItemDelegate + ( QObject * parent = 0 ) + + + closeEditor + closeEditor + ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint = NoHint ) + + + commitData + commitData + ( QWidget * editor ) + + + createEditor + createEditor + ( QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + editorEvent + editorEvent + ( QEvent * event, QAbstractItemModel * model, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + helpEvent + helpEvent + ( QHelpEvent * event, QAbstractItemView * view, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + paint + paint + ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + setEditorData + setEditorData + ( QWidget * editor, const QModelIndex & index ) + + + setModelData + setModelData + ( QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) + + + sizeHint + sizeHint + ( const QStyleOptionViewItem & option, const QModelIndex & index ) + + + updateEditorGeometry + updateEditorGeometry + ( QWidget * editor, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + createIndex + createIndex-2 + ( int row, int column, int id ) + + + + QAbstractItemModel + qabstractitemmodel.html + + QAbstractItemModel + QAbstractItemModel + ( QObject * parent = 0 ) + + + beginInsertColumns + beginInsertColumns + ( const QModelIndex & parent, int first, int last ) + + + beginInsertRows + beginInsertRows + ( const QModelIndex & parent, int first, int last ) + + + beginRemoveColumns + beginRemoveColumns + ( const QModelIndex & parent, int first, int last ) + + + beginRemoveRows + beginRemoveRows + ( const QModelIndex & parent, int first, int last ) + + + buddy + buddy + ( const QModelIndex & index ) + + + canFetchMore + canFetchMore + ( const QModelIndex & parent ) + + + changePersistentIndex + changePersistentIndex + ( const QModelIndex & from, const QModelIndex & to ) + + + changePersistentIndexList + changePersistentIndexList + ( const QModelIndexList & from, const QModelIndexList & to ) + + + columnCount + columnCount + ( const QModelIndex & parent = QModelIndex() + + + columnsAboutToBeInserted + columnsAboutToBeInserted + ( const QModelIndex & parent, int start, int end ) + + + columnsAboutToBeRemoved + columnsAboutToBeRemoved + ( const QModelIndex & parent, int start, int end ) + + + columnsInserted + columnsInserted + ( const QModelIndex & parent, int start, int end ) + + + columnsRemoved + columnsRemoved + ( const QModelIndex & parent, int start, int end ) + + + createIndex + createIndex + ( int row, int column, void * ptr = 0 ) + + + createIndex + createIndex-3 + ( int row, int column, quint32 id ) + + + data + data + ( const QModelIndex & index, int role = Qt::DisplayRole ) + + + dataChanged + dataChanged + ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) + + + dropMimeData + dropMimeData + ( const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent ) + + + endInsertColumns + endInsertColumns + () + + + endInsertRows + endInsertRows + () + + + endRemoveColumns + endRemoveColumns + () + + + endRemoveRows + endRemoveRows + () + + + fetchMore + fetchMore + ( const QModelIndex & parent ) + + + ItemFlags + flags + QAbstractItemModel::flags( const QModelIndex & index ) + + + hasChildren + hasChildren + ( const QModelIndex & parent = QModelIndex() + + + hasIndex + hasIndex + ( int row, int column, const QModelIndex & parent = QModelIndex() + + + headerData + headerData + ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) + + + headerDataChanged + headerDataChanged + ( Qt::Orientation orientation, int first, int last ) + + + index + index + ( int row, int column, const QModelIndex & parent = QModelIndex() + + + insertColumn + insertColumn + ( int column, const QModelIndex & parent = QModelIndex() + + + insertColumns + insertColumns + ( int column, int count, const QModelIndex & parent = QModelIndex() + + + insertRow + insertRow + ( int row, const QModelIndex & parent = QModelIndex() + + + insertRows + insertRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + itemData + itemData + ( const QModelIndex & index ) + + + layoutAboutToBeChanged + layoutAboutToBeChanged + () + + + layoutChanged + layoutChanged + () + + + match + match + ( const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap ) + + + mimeData + mimeData + ( const QModelIndexList & indexes ) + + + mimeTypes + mimeTypes + () + + + modelAboutToBeReset + modelAboutToBeReset + () + + + modelReset + modelReset + () + + + parent + parent + ( const QModelIndex & index ) + + + persistentIndexList + persistentIndexList + () + + + removeColumn + removeColumn + ( int column, const QModelIndex & parent = QModelIndex() + + + removeColumns + removeColumns + ( int column, int count, const QModelIndex & parent = QModelIndex() + + + removeRow + removeRow + ( int row, const QModelIndex & parent = QModelIndex() + + + removeRows + removeRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + reset + reset + () + + + revert + revert + () + + + rowCount + rowCount + ( const QModelIndex & parent = QModelIndex() + + + rowsAboutToBeInserted + rowsAboutToBeInserted + ( const QModelIndex & parent, int start, int end ) + + + rowsAboutToBeRemoved + rowsAboutToBeRemoved + ( const QModelIndex & parent, int start, int end ) + + + rowsInserted + rowsInserted + ( const QModelIndex & parent, int start, int end ) + + + rowsRemoved + rowsRemoved + ( const QModelIndex & parent, int start, int end ) + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) + + + setHeaderData + setHeaderData + ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole ) + + + setItemData + setItemData + ( const QModelIndex & index, const QMap<int, QVariant> & roles ) + + + setSupportedDragActions + setSupportedDragActions + ( Qt::DropActions actions ) + + + sibling + sibling + ( int row, int column, const QModelIndex & index ) + + + sort + sort + ( int column, Qt::SortOrder order = Qt::AscendingOrder ) + + + span + span + ( const QModelIndex & index ) + + + submit + submit + () + + + DropActions + supportedDragActions + QAbstractItemModel::supportedDragActions() + + + DropActions + supportedDropActions + QAbstractItemModel::supportedDropActions() + + + horizontalStepsPerItem + horizontalStepsPerItem + () + + + setHorizontalStepsPerItem + setHorizontalStepsPerItem + ( int steps ) + + + setVerticalStepsPerItem + setVerticalStepsPerItem + ( int steps ) + + + verticalStepsPerItem + verticalStepsPerItem + () + + + + QAbstractItemView + qabstractitemview.html + + CursorAction + CursorAction-enum + + + + DragDropMode + DragDropMode-enum + + + + DropIndicatorPosition + DropIndicatorPosition-enum + + + + ScrollHint + ScrollHint-enum + + + + ScrollMode + ScrollMode-enum + + + + SelectionBehavior + SelectionBehavior-enum + + + + SelectionMode + SelectionMode-enum + + + + State + State-enum + + + + TextElideMode + textElideMode-prop + + + + QAbstractItemView + QAbstractItemView + ( QWidget * parent = 0 ) + + + activated + activated + ( const QModelIndex & index ) + + + clearSelection + clearSelection + () + + + clicked + clicked + ( const QModelIndex & index ) + + + closeEditor + closeEditor + ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) + + + closePersistentEditor + closePersistentEditor + ( const QModelIndex & index ) + + + commitData + commitData + ( QWidget * editor ) + + + currentChanged + currentChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + currentIndex + currentIndex + () + + + dataChanged + dataChanged + ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) + + + dirtyRegionOffset + dirtyRegionOffset + () + + + doubleClicked + doubleClicked + ( const QModelIndex & index ) + + + dragEnterEvent + dragEnterEvent + ( QDragEnterEvent * event ) + + + dragLeaveEvent + dragLeaveEvent + ( QDragLeaveEvent * event ) + + + dragMoveEvent + dragMoveEvent + ( QDragMoveEvent * event ) + + + dropEvent + dropEvent + ( QDropEvent * event ) + + + dropIndicatorPosition + dropIndicatorPosition + () + + + edit + edit + ( const QModelIndex & index ) + + + edit + edit-2 + ( const QModelIndex & index, EditTrigger trigger, QEvent * event ) + + + editorDestroyed + editorDestroyed + ( QObject * editor ) + + + entered + entered + ( const QModelIndex & index ) + + + executeDelayedItemsLayout + executeDelayedItemsLayout + () + + + focusInEvent + focusInEvent + ( QFocusEvent * event ) + + + focusOutEvent + focusOutEvent + ( QFocusEvent * event ) + + + horizontalOffset + horizontalOffset + () + + + indexAt + indexAt + ( const QPoint & point ) + + + indexWidget + indexWidget + ( const QModelIndex & index ) + + + isIndexHidden + isIndexHidden + ( const QModelIndex & index ) + + + itemDelegate + itemDelegate + () + + + itemDelegate + itemDelegate-2 + ( const QModelIndex & index ) + + + itemDelegateForColumn + itemDelegateForColumn + ( int column ) + + + itemDelegateForRow + itemDelegateForRow + ( int row ) + + + keyPressEvent + keyPressEvent + ( QKeyEvent * event ) + + + keyboardSearch + keyboardSearch + ( const QString & search ) + + + model + model + () + + + mouseDoubleClickEvent + mouseDoubleClickEvent + ( QMouseEvent * event ) + + + mouseMoveEvent + mouseMoveEvent + ( QMouseEvent * event ) + + + mousePressEvent + mousePressEvent + ( QMouseEvent * event ) + + + mouseReleaseEvent + mouseReleaseEvent + ( QMouseEvent * event ) + + + moveCursor + moveCursor + ( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) + + + openPersistentEditor + openPersistentEditor + ( const QModelIndex & index ) + + + pressed + pressed + ( const QModelIndex & index ) + + + reset + reset + () + + + resizeEvent + resizeEvent + ( QResizeEvent * event ) + + + rootIndex + rootIndex + () + + + rowsAboutToBeRemoved + rowsAboutToBeRemoved + ( const QModelIndex & parent, int start, int end ) + + + rowsInserted + rowsInserted + ( const QModelIndex & parent, int start, int end ) + + + scheduleDelayedItemsLayout + scheduleDelayedItemsLayout + () + + + scrollDirtyRegion + scrollDirtyRegion + ( int dx, int dy ) + + + scrollTo + scrollTo + ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) + + + scrollToBottom + scrollToBottom + () + + + scrollToTop + scrollToTop + () + + + selectAll + selectAll + () + + + selectedIndexes + selectedIndexes + () + + + selectionChanged + selectionChanged + ( const QItemSelection & selected, const QItemSelection & deselected ) + + + SelectionFlags + selectionCommand + QAbstractItemView::selectionCommand( const QModelIndex & index, const QEvent * event = 0 ) + + + selectionModel + selectionModel + () + + + setCurrentIndex + setCurrentIndex + ( const QModelIndex & index ) + + + setDirtyRegion + setDirtyRegion + ( const QRegion & region ) + + + setIndexWidget + setIndexWidget + ( const QModelIndex & index, QWidget * widget ) + + + setItemDelegate + setItemDelegate + ( QAbstractItemDelegate * delegate ) + + + setItemDelegateForColumn + setItemDelegateForColumn + ( int column, QAbstractItemDelegate * delegate ) + + + setItemDelegateForRow + setItemDelegateForRow + ( int row, QAbstractItemDelegate * delegate ) + + + setModel + setModel + ( QAbstractItemModel * model ) + + + setRootIndex + setRootIndex + ( const QModelIndex & index ) + + + setSelection + setSelection + ( const QRect & rect, QItemSelectionModel::SelectionFlags flags ) + + + setSelectionModel + setSelectionModel + ( QItemSelectionModel * selectionModel ) + + + setState + setState + ( State state ) + + + sizeHintForColumn + sizeHintForColumn + ( int column ) + + + sizeHintForIndex + sizeHintForIndex + ( const QModelIndex & index ) + + + sizeHintForRow + sizeHintForRow + ( int row ) + + + startDrag + startDrag + ( Qt::DropActions supportedActions ) + + + state + state + () + + + timerEvent + timerEvent + ( QTimerEvent * event ) + + + update + update + ( const QModelIndex & index ) + + + verticalOffset + verticalOffset + () + + + viewOptions + viewOptions + () + + + viewportEntered + viewportEntered + () + + + viewportEvent + viewportEvent + ( QEvent * event ) + + + visualRect + visualRect + ( const QModelIndex & index ) + + + visualRegionForSelection + visualRegionForSelection + ( const QItemSelection & selection ) + + + + QAbstractListModel + qabstractlistmodel.html + + QAbstractListModel + QAbstractListModel + ( QObject * parent = 0 ) + + + index + index + ( int row, int column = 0, const QModelIndex & parent = QModelIndex() + + + + QAbstractPrintDialog + qabstractprintdialog.html + + PrintRange + PrintRange-enum + + + + QAbstractPrintDialog + QAbstractPrintDialog + ( QPrinter * printer, QWidget * parent = 0 ) + + + addEnabledOption + addEnabledOption + ( PrintDialogOption option ) + + + enabledOptions + enabledOptions + () + + + exec + exec + () + + + fromPage + fromPage + () + + + isOptionEnabled + isOptionEnabled + ( PrintDialogOption option ) + + + maxPage + maxPage + () + + + minPage + minPage + () + + + printRange + printRange + () + + + printer + printer + () + + + setEnabledOptions + setEnabledOptions + ( PrintDialogOptions options ) + + + setFromTo + setFromTo + ( int from, int to ) + + + setMinMax + setMinMax + ( int min, int max ) + + + setPrintRange + setPrintRange + ( PrintRange range ) + + + toPage + toPage + () + + + + QAbstractProxyModel + qabstractproxymodel.html + + QAbstractProxyModel + QAbstractProxyModel + ( QObject * parent = 0 ) + + + mapFromSource + mapFromSource + ( const QModelIndex & sourceIndex ) + + + mapSelectionFromSource + mapSelectionFromSource + ( const QItemSelection & sourceSelection ) + + + mapSelectionToSource + mapSelectionToSource + ( const QItemSelection & proxySelection ) + + + mapToSource + mapToSource + ( const QModelIndex & proxyIndex ) + + + setSourceModel + setSourceModel + ( QAbstractItemModel * sourceModel ) + + + sourceModel + sourceModel + () + + + + QAbstractScrollArea + qabstractscrollarea.html + + ScrollBarPolicy + horizontalScrollBarPolicy-prop + + + + ScrollBarPolicy + verticalScrollBarPolicy-prop + + + + QAbstractScrollArea + QAbstractScrollArea + ( QWidget * parent = 0 ) + + + addScrollBarWidget + addScrollBarWidget + ( QWidget * widget, Qt::Alignment alignment ) + + + contextMenuEvent + contextMenuEvent + ( QContextMenuEvent * e ) + + + cornerWidget + cornerWidget + () + + + dragEnterEvent + dragEnterEvent + ( QDragEnterEvent * event ) + + + dragLeaveEvent + dragLeaveEvent + ( QDragLeaveEvent * event ) + + + dragMoveEvent + dragMoveEvent + ( QDragMoveEvent * event ) + + + dropEvent + dropEvent + ( QDropEvent * event ) + + + horizontalScrollBar + horizontalScrollBar + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * e ) + + + maximumViewportSize + maximumViewportSize + () + + + mouseDoubleClickEvent + mouseDoubleClickEvent + ( QMouseEvent * e ) + + + mouseMoveEvent + mouseMoveEvent + ( QMouseEvent * e ) + + + mousePressEvent + mousePressEvent + ( QMouseEvent * e ) + + + mouseReleaseEvent + mouseReleaseEvent + ( QMouseEvent * e ) + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + resizeEvent + resizeEvent + ( QResizeEvent * event ) + + + scrollBarWidgets + scrollBarWidgets + ( Qt::Alignment alignment ) + + + scrollContentsBy + scrollContentsBy + ( int dx, int dy ) + + + setCornerWidget + setCornerWidget + ( QWidget * widget ) + + + setHorizontalScrollBar + setHorizontalScrollBar + ( QScrollBar * scrollBar ) + + + setVerticalScrollBar + setVerticalScrollBar + ( QScrollBar * scrollBar ) + + + setViewport + setViewport + ( QWidget * widget ) + + + setViewportMargins + setViewportMargins + ( int left, int top, int right, int bottom ) + + + setupViewport + setupViewport + ( QWidget * viewport ) + + + verticalScrollBar + verticalScrollBar + () + + + viewport + viewport + () + + + viewportEvent + viewportEvent + ( QEvent * event ) + + + wheelEvent + wheelEvent + ( QWheelEvent * e ) + + + addLine + addLine + () + + + addPage + addPage + () + + + lineStep + lineStepx + () + + + maxValue + maxValue + () + + + minValue + minValue + () + + + setLineStep + setLineStep + ( int v ) + + + setMaxValue + setMaxValue + ( int v ) + + + setMinValue + setMinValue + ( int v ) + + + setSteps + setSteps + ( int single, int page ) + + + subtractLine + subtractLine + () + + + subtractPage + subtractPage + () + + + + QAbstractSlider + qabstractslider.html + + SliderAction + SliderAction-enum + + + + SliderChange + SliderChange-enum + + + + Orientation + orientation-prop + + + + QAbstractSlider + QAbstractSlider + ( QWidget * parent = 0 ) + + + actionTriggered + actionTriggered + ( int action ) + + + rangeChanged + rangeChanged + ( int min, int max ) + + + repeatAction + repeatAction + () + + + setRange + setRange + ( int min, int max ) + + + setRepeatAction + setRepeatAction + ( SliderAction action, int thresholdTime = 500, int repeatTime = 50 ) + + + sliderChange + sliderChange + ( SliderChange change ) + + + sliderMoved + sliderMoved + ( int value ) + + + sliderPressed + sliderPressed + () + + + sliderReleased + sliderReleased + () + + + triggerAction + triggerAction + ( SliderAction action ) + + + valueChanged + valueChanged + ( int value ) + + + addLine + addLine + () + + + addPage + addPage + () + + + lineStep + lineStepx + () + + + maxValue + maxValue + () + + + minValue + minValue + () + + + setLineStep + setLineStep + ( int v ) + + + setMaxValue + setMaxValue + ( int v ) + + + setMinValue + setMinValue + ( int v ) + + + setSteps + setSteps + ( int single, int page ) + + + subtractLine + subtractLine + () + + + subtractPage + subtractPage + () + + + Error + Error-enum + + + + State + State-typedef + + + + connectionClosed + connectionClosed + () + + + delayedCloseFinished + delayedCloseFinished + () + + + setSocket + setSocket + ( int socket ) + + + socket + socket + () + + + waitForMore + waitForMore + ( int msecs, bool * timeout = 0 ) + + + + QAbstractSocket + qabstractsocket.html + + NetworkLayerProtocol + NetworkLayerProtocol-enum + + + + SocketError + SocketError-enum + + + + SocketState + SocketState-enum + + + + SocketType + SocketType-enum + + + + QAbstractSocket + QAbstractSocket + ( SocketType socketType, QObject * parent ) + + + abort + abort + () + + + bytesAvailable + bytesAvailable + () + + + bytesToWrite + bytesToWrite + () + + + canReadLine + canReadLine + () + + + close + close + () + + + connectToHost + connectToHost + ( const QString & hostName, quint16 port, OpenMode openMode = ReadWrite ) + + + connectToHost + connectToHost-2 + ( const QHostAddress & address, quint16 port, OpenMode openMode = ReadWrite ) + + + connectToHostImplementation + connectToHostImplementation + ( const QString & hostName, quint16 port, OpenMode openMode = ReadWrite ) + + + connected + connected + () + + + disconnectFromHost + disconnectFromHost + () + + + disconnectFromHostImplementation + disconnectFromHostImplementation + () + + + disconnected + disconnected + () + + + error + error + () + + + error + error-2 + ( QAbstractSocket::SocketError socketError ) + + + flush + flush + () + + + hostFound + hostFound + () + + + isValid + isValid + () + + + localAddress + localAddress + () + + + localPort + localPort + () + + + peerAddress + peerAddress + () + + + peerName + peerName + () + + + peerPort + peerPort + () + + + proxy + proxy + () + + + proxyAuthenticationRequired + proxyAuthenticationRequired + ( const QNetworkProxy & proxy, QAuthenticator * authenticator ) + + + readBufferSize + readBufferSize + () + + + setLocalAddress + setLocalAddress + ( const QHostAddress & address ) + + + setLocalPort + setLocalPort + ( quint16 port ) + + + setPeerAddress + setPeerAddress + ( const QHostAddress & address ) + + + setPeerName + setPeerName + ( const QString & name ) + + + setPeerPort + setPeerPort + ( quint16 port ) + + + setProxy + setProxy + ( const QNetworkProxy & networkProxy ) + + + setReadBufferSize + setReadBufferSize + ( qint64 size ) + + + setSocketDescriptor + setSocketDescriptor + ( int socketDescriptor, SocketState socketState = ConnectedState, OpenMode openMode = ReadWrite ) + + + setSocketError + setSocketError + ( SocketError socketError ) + + + setSocketState + setSocketState + ( SocketState state ) + + + socketDescriptor + socketDescriptor + () + + + socketType + socketType + () + + + state + state + () + + + stateChanged + stateChanged + ( QAbstractSocket::SocketState socketState ) + + + waitForConnected + waitForConnected + ( int msecs = 30000 ) + + + waitForDisconnected + waitForDisconnected + ( int msecs = 30000 ) + + + waitForReadyRead + waitForReadyRead + ( int msecs = 30000 ) + + + Error + Error-enum + + + + State + State-typedef + + + + connectionClosed + connectionClosed + () + + + delayedCloseFinished + delayedCloseFinished + () + + + setSocket + setSocket + ( int socket ) + + + socket + socket + () + + + waitForMore + waitForMore + ( int msecs, bool * timeout = 0 ) + + + + QAbstractSpinBox + qabstractspinbox.html + + ButtonSymbols + ButtonSymbols-enum + + + + CorrectionMode + CorrectionMode-enum + + + + Alignment + alignment-prop + + + + QAbstractSpinBox + QAbstractSpinBox + ( QWidget * parent = 0 ) + + + clear + clear + () + + + editingFinished + editingFinished + () + + + fixup + fixup + ( QString & input ) + + + initStyleOption + initStyleOption + ( QStyleOptionSpinBox * option ) + + + interpretText + interpretText + () + + + lineEdit + lineEdit + () + + + selectAll + selectAll + () + + + setLineEdit + setLineEdit + ( QLineEdit * lineEdit ) + + + stepBy + stepBy + ( int steps ) + + + stepDown + stepDown + () + + + stepEnabled + stepEnabled + () + + + stepUp + stepUp + () + + + State + validate + QAbstractSpinBox::validate( QString & input, int & pos ) + + + + QAbstractTableModel + qabstracttablemodel.html + + QAbstractTableModel + QAbstractTableModel + ( QObject * parent = 0 ) + + + index + index + ( int row, int column, const QModelIndex & parent = QModelIndex() + + + + QAbstractTextDocumentLayout::PaintContext + qabstracttextdocumentlayout-paintcontext.html + + clip + clip-var + + + + cursorPosition + cursorPosition-var + + + + palette + palette-var + + + + selections + selections-var + + + + + QAbstractTextDocumentLayout::Selection + qabstracttextdocumentlayout-selection.html + + cursor + cursor-var + + + + format + format-var + + + + + QAbstractTextDocumentLayout + qabstracttextdocumentlayout.html + + QAbstractTextDocumentLayout + QAbstractTextDocumentLayout + ( QTextDocument * document ) + + + anchorAt + anchorAt + ( const QPointF & position ) + + + blockBoundingRect + blockBoundingRect + ( const QTextBlock & block ) + + + document + document + () + + + documentChanged + documentChanged + ( int position, int charsRemoved, int charsAdded ) + + + documentSize + documentSize + () + + + documentSizeChanged + documentSizeChanged + ( const QSizeF & newSize ) + + + draw + draw + ( QPainter * painter, const PaintContext & context ) + + + drawInlineObject + drawInlineObject + ( QPainter * painter, const QRectF & rect, QTextInlineObject object, int posInDocument, const QTextFormat & format ) + + + format + format + ( int position ) + + + frameBoundingRect + frameBoundingRect + ( QTextFrame * frame ) + + + handlerForObject + handlerForObject + ( int objectType ) + + + hitTest + hitTest + ( const QPointF & point, Qt::HitTestAccuracy accuracy ) + + + pageCount + pageCount + () + + + pageCountChanged + pageCountChanged + ( int newPages ) + + + paintDevice + paintDevice + () + + + positionInlineObject + positionInlineObject + ( QTextInlineObject item, int posInDocument, const QTextFormat & format ) + + + registerHandler + registerHandler + ( int formatType, QObject * component ) + + + resizeInlineObject + resizeInlineObject + ( QTextInlineObject item, int posInDocument, const QTextFormat & format ) + + + setPaintDevice + setPaintDevice + ( QPaintDevice * device ) + + + update + update + ( const QRectF & rect = QRectF( 0., 0., 1000000000., 1000000000. ) + + + + QAccessible + qaccessible.html + + Action + Action-enum + + + + Event + Event-enum + + + + InterfaceFactory + InterfaceFactory-typedef + + + + Method + Method-enum + + + + Role + Role-enum + + + + Text + Text-enum + + + + installFactory + installFactory + ( InterfaceFactory factory ) + + + installRootObjectHandler + installRootObjectHandler + ( RootObjectHandler handler ) + + + isActive + isActive + () + + + queryAccessibleInterface + queryAccessibleInterface + ( QObject * object ) + + + removeFactory + removeFactory + ( InterfaceFactory factory ) + + + updateAccessibility + updateAccessibility + ( QObject * object, int child, Event reason ) + + + + QAccessibleBridge + qaccessiblebridge.html + + notifyAccessibilityUpdate + notifyAccessibilityUpdate + ( int reason, QAccessibleInterface * interface, int child ) + + + setRootObject + setRootObject + ( QAccessibleInterface * object ) + + + + QAccessibleBridgePlugin + qaccessiblebridgeplugin.html + + QAccessibleBridgePlugin + QAccessibleBridgePlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QAccessibleEvent + qaccessibleevent.html + + QAccessibleEvent + QAccessibleEvent + ( Type type, int child ) + + + child + child + () + + + setValue + setValue + ( const QString & text ) + + + value + value + () + + + + QAccessibleInterface + qaccessibleinterface.html + + actionText + actionText + ( int action, Text t, int child ) + + + childAt + childAt + ( int x, int y ) + + + childCount + childCount + () + + + doAction + doAction + ( int action, int child, const QVariantList & params = QVariantList() + + + indexOfChild + indexOfChild + ( const QAccessibleInterface * child ) + + + invokeMethod + invokeMethod + ( Method method, int child = 0, const QVariantList & params = QVariantList() + + + isValid + isValid + () + + + navigate + navigate + ( RelationFlag relation, int entry, QAccessibleInterface ** target ) + + + object + object + () + + + rect + rect + ( int child ) + + + relationTo + relationTo + ( int child, const QAccessibleInterface * other, int otherChild ) + + + role + role + ( int child ) + + + setText + setText + ( Text t, int child, const QString & text ) + + + state + state + ( int child ) + + + supportedMethods + supportedMethods + () + + + text + text + ( Text t, int child ) + + + userActionCount + userActionCount + ( int child ) + + + + QAccessibleObject + qaccessibleobject.html + + QAccessibleObject + QAccessibleObject + ( QObject * object ) + + + + QAccessiblePlugin + qaccessibleplugin.html + + QAccessiblePlugin + QAccessiblePlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key, QObject * object ) + + + keys + keys + () + + + + QAccessibleWidget + qaccessiblewidget.html + + QAccessibleWidget + QAccessibleWidget + ( QWidget * w, Role role = Client, const QString & name = QString() + + + addControllingSignal + addControllingSignal + ( const QString & signal ) + + + parentObject + parentObject + () + + + setAccelerator + setAccelerator + ( const QString & accel ) + + + setDescription + setDescription + ( const QString & desc ) + + + setHelp + setHelp + ( const QString & help ) + + + setValue + setValue + ( const QString & value ) + + + widget + widget + () + + + QAction + QAction-4 + ( QObject * parent, const char * name ) + + + QAction + QAction-5 + ( const QString & text, const QKeySequence & shortcut, QObject * parent, const char * name ) + + + QAction + QAction-6 + ( const QIcon & icon, const QString & text, const QKeySequence & shortcut, QObject * parent, const char * name ) + + + accel + accel + () + + + activated + activated + ( int i = 0 ) + + + addTo + addTo + ( QWidget * w ) + + + iconSet + iconSet + () + + + isOn + isOn + () + + + isToggleAction + isToggleAction + () + + + menuText + menuText + () + + + removeFrom + removeFrom + ( QWidget * w ) + + + setAccel + setAccel + ( const QKeySequence & shortcut ) + + + setIconSet + setIconSet + ( const QIcon & i ) + + + setMenuText + setMenuText + ( const QString & text ) + + + setOn + setOn + ( bool b ) + + + setToggleAction + setToggleAction + ( bool b ) + + + + QAction + qaction.html + + ActionEvent + ActionEvent-enum + + + + MenuRole + MenuRole-enum + + + + ShortcutContext + shortcutContext-prop + + + + QAction + QAction + ( QObject * parent ) + + + QAction + QAction-2 + ( const QString & text, QObject * parent ) + + + QAction + QAction-3 + ( const QIcon & icon, const QString & text, QObject * parent ) + + + actionGroup + actionGroup + () + + + activate + activate + ( ActionEvent event ) + + + associatedWidgets + associatedWidgets + () + + + changed + changed + () + + + data + data + () + + + hover + hover + () + + + hovered + hovered + () + + + isSeparator + isSeparator + () + + + menu + menu + () + + + parentWidget + parentWidget + () + + + setActionGroup + setActionGroup + ( QActionGroup * group ) + + + setData + setData + ( const QVariant & userData ) + + + setDisabled + setDisabled + ( bool b ) + + + setMenu + setMenu + ( QMenu * menu ) + + + setSeparator + setSeparator + ( bool b ) + + + setShortcuts + setShortcuts + ( const QList<QKeySequence> & shortcuts ) + + + setShortcuts + setShortcuts-2 + ( QKeySequence::StandardKey key ) + + + shortcuts + shortcuts + () + + + showStatusText + showStatusText + ( QWidget * widget = 0 ) + + + toggle + toggle + () + + + toggled + toggled + ( bool checked ) + + + trigger + trigger + () + + + triggered + triggered + ( bool checked = false ) + + + QAction + QAction-4 + ( QObject * parent, const char * name ) + + + QAction + QAction-5 + ( const QString & text, const QKeySequence & shortcut, QObject * parent, const char * name ) + + + QAction + QAction-6 + ( const QIcon & icon, const QString & text, const QKeySequence & shortcut, QObject * parent, const char * name ) + + + accel + accel + () + + + activated + activated + ( int i = 0 ) + + + addTo + addTo + ( QWidget * w ) + + + iconSet + iconSet + () + + + isOn + isOn + () + + + isToggleAction + isToggleAction + () + + + menuText + menuText + () + + + removeFrom + removeFrom + ( QWidget * w ) + + + setAccel + setAccel + ( const QKeySequence & shortcut ) + + + setIconSet + setIconSet + ( const QIcon & i ) + + + setMenuText + setMenuText + ( const QString & text ) + + + setOn + setOn + ( bool b ) + + + setToggleAction + setToggleAction + ( bool b ) + + + + QActionEvent + qactionevent.html + + QActionEvent + QActionEvent + ( int type, QAction * action, QAction * before = 0 ) + + + action + action + () + + + before + before + () + + + add + add + ( QAction * a ) + + + addSeparator + addSeparator + () + + + addTo + addTo + ( QWidget * widget ) + + + selected + selected + ( QAction * action ) + + + + QActionGroup + qactiongroup.html + + QActionGroup + QActionGroup + ( QObject * parent ) + + + actions + actions + () + + + addAction + addAction + ( QAction * action ) + + + addAction + addAction-2 + ( const QString & text ) + + + addAction + addAction-3 + ( const QIcon & icon, const QString & text ) + + + checkedAction + checkedAction + () + + + hovered + hovered + ( QAction * action ) + + + removeAction + removeAction + ( QAction * action ) + + + setDisabled + setDisabled + ( bool b ) + + + triggered + triggered + ( QAction * action ) + + + add + add + ( QAction * a ) + + + addSeparator + addSeparator + () + + + addTo + addTo + ( QWidget * widget ) + + + selected + selected + ( QAction * action ) + + + ColorMode + ColorMode-typedef + + + + colorMode + colorMode + () + + + flushX + flushX + () + + + hasGlobalMouseTracking + hasGlobalMouseTracking + () + + + Alignment + horizontalAlignment + QApplication::horizontalAlignment( Qt::Alignment align ) + + + MacintoshVersion + macVersion + QApplication::macVersion() + + + mainWidget + mainWidget + () + + + reverseLayout + reverseLayout + () + + + setColorMode + setColorMode + ( ColorMode mode ) + + + setFont + setFont-2 + ( const QFont & font, bool b, const char * className = 0 ) + + + setGlobalMouseTracking + setGlobalMouseTracking + ( bool dummy ) + + + setMainWidget + setMainWidget + ( QWidget * mainWidget ) + + + setOverrideCursor + setOverrideCursor-2 + ( const QCursor & cursor, bool replace ) + + + setPalette + setPalette-2 + ( const QPalette & pal, bool b, const char * className = 0 ) + + + setReverseLayout + setReverseLayout + ( bool reverse ) + + + setWinStyleHighlightColor + setWinStyleHighlightColor + ( const QColor & c ) + + + widgetAt + widgetAt-2 + ( int x, int y, bool child ) + + + widgetAt + widgetAt-3 + ( const QPoint & point, bool child ) + + + winStyleHighlightColor + winStyleHighlightColor + () + + + WindowsVersion + winVersion + QApplication::winVersion() + + + CustomColors + CustomColors-var + + + + NormalColors + NormalColors-var + + + + + QApplication + qapplication.html + + ColorSpec + ColorSpec-enum + + + + Type + Type-enum + + + + LayoutDirection + layoutDirection-prop + + + + QApplication + QApplication + ( int & argc, char ** argv ) + + + QApplication + QApplication-2 + ( int & argc, char ** argv, bool GUIenabled ) + + + QApplication + QApplication-3 + ( int & argc, char ** argv, Type type ) + + + QApplication + QApplication-4 + ( Display * display, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0 ) + + + QApplication + QApplication-5 + ( Display * display, int & argc, char ** argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0 ) + + + aboutQt + aboutQt + () + + + activeModalWidget + activeModalWidget + () + + + activePopupWidget + activePopupWidget + () + + + activeWindow + activeWindow + () + + + alert + alert + ( QWidget * widget, int msec = 0 ) + + + allWidgets + allWidgets + () + + + beep + beep + () + + + changeOverrideCursor + changeOverrideCursor + ( const QCursor & cursor ) + + + clipboard + clipboard + () + + + closeAllWindows + closeAllWindows + () + + + colorSpec + colorSpec + () + + + commitData + commitData + ( QSessionManager & manager ) + + + commitDataRequest + commitDataRequest + ( QSessionManager & manager ) + + + desktop + desktop + () + + + desktopSettingsAware + desktopSettingsAware + () + + + exec + exec + () + + + focusChanged + focusChanged + ( QWidget * old, QWidget * now ) + + + focusWidget + focusWidget + () + + + font + font + () + + + font + font-2 + ( const QWidget * widget ) + + + font + font-3 + ( const char * className ) + + + fontMetrics + fontMetrics + () + + + inputContext + inputContext + () + + + isEffectEnabled + isEffectEnabled + ( Qt::UIEffect effect ) + + + isLeftToRight + isLeftToRight + () + + + isRightToLeft + isRightToLeft + () + + + isSessionRestored + isSessionRestored + () + + + LayoutDirection + keyboardInputDirection + QApplication::keyboardInputDirection() + + + keyboardInputLocale + keyboardInputLocale + () + + + KeyboardModifiers + keyboardModifiers + QApplication::keyboardModifiers() + + + keypadNavigationEnabled + keypadNavigationEnabled + () + + + lastWindowClosed + lastWindowClosed + () + + + macEventFilter + macEventFilter + ( EventHandlerCallRef caller, EventRef event ) + + + MouseButtons + mouseButtons + QApplication::mouseButtons() + + + overrideCursor + overrideCursor + () + + + palette + palette + () + + + palette + palette-2 + ( const QWidget * widget ) + + + palette + palette-3 + ( const char * className ) + + + qwsDecoration + qwsDecoration + () + + + qwsEventFilter + qwsEventFilter + ( QWSEvent * event ) + + + qwsSetCustomColors + qwsSetCustomColors + ( QRgb * colorTable, int start, int numColors ) + + + qwsSetDecoration + qwsSetDecoration + ( QDecoration * decoration ) + + + qwsSetDecoration + qwsSetDecoration-2 + ( const QString & decoration ) + + + restoreOverrideCursor + restoreOverrideCursor + () + + + saveState + saveState + ( QSessionManager & manager ) + + + saveStateRequest + saveStateRequest + ( QSessionManager & manager ) + + + sessionId + sessionId + () + + + sessionKey + sessionKey + () + + + setActiveWindow + setActiveWindow + ( QWidget * active ) + + + setColorSpec + setColorSpec + ( int spec ) + + + setDesktopSettingsAware + setDesktopSettingsAware + ( bool on ) + + + setEffectEnabled + setEffectEnabled + ( Qt::UIEffect effect, bool enable = true ) + + + setFont + setFont + ( const QFont & font, const char * className = 0 ) + + + setInputContext + setInputContext + ( QInputContext * inputContext ) + + + setKeypadNavigationEnabled + setKeypadNavigationEnabled + ( bool enable ) + + + setOverrideCursor + setOverrideCursor + ( const QCursor & cursor ) + + + setPalette + setPalette + ( const QPalette & palette, const char * className = 0 ) + + + setStyle + setStyle + ( QStyle * style ) + + + setStyle + setStyle-2 + ( const QString & style ) + + + style + style + () + + + syncX + syncX + () + + + topLevelAt + topLevelAt + ( const QPoint & point ) + + + topLevelAt + topLevelAt-2 + ( int x, int y ) + + + topLevelWidgets + topLevelWidgets + () + + + type + type + () + + + widgetAt + widgetAt + ( const QPoint & point ) + + + widgetAt + widgetAt-4 + ( int x, int y ) + + + x11EventFilter + x11EventFilter + ( XEvent * event ) + + + x11ProcessEvent + x11ProcessEvent + ( XEvent * event ) + + + ColorMode + ColorMode-typedef + + + + colorMode + colorMode + () + + + flushX + flushX + () + + + hasGlobalMouseTracking + hasGlobalMouseTracking + () + + + Alignment + horizontalAlignment + QApplication::horizontalAlignment( Qt::Alignment align ) + + + MacintoshVersion + macVersion + QApplication::macVersion() + + + mainWidget + mainWidget + () + + + reverseLayout + reverseLayout + () + + + setColorMode + setColorMode + ( ColorMode mode ) + + + setFont + setFont-2 + ( const QFont & font, bool b, const char * className = 0 ) + + + setGlobalMouseTracking + setGlobalMouseTracking + ( bool dummy ) + + + setMainWidget + setMainWidget + ( QWidget * mainWidget ) + + + setOverrideCursor + setOverrideCursor-2 + ( const QCursor & cursor, bool replace ) + + + setPalette + setPalette-2 + ( const QPalette & pal, bool b, const char * className = 0 ) + + + setReverseLayout + setReverseLayout + ( bool reverse ) + + + setWinStyleHighlightColor + setWinStyleHighlightColor + ( const QColor & c ) + + + widgetAt + widgetAt-2 + ( int x, int y, bool child ) + + + widgetAt + widgetAt-3 + ( const QPoint & point, bool child ) + + + winStyleHighlightColor + winStyleHighlightColor + () + + + WindowsVersion + winVersion + QApplication::winVersion() + + + CustomColors + CustomColors-var + + + + NormalColors + NormalColors-var + + + + + QAssistantClient + qassistantclient.html + + QAssistantClient + QAssistantClient + ( const QString & path, QObject * parent = 0 ) + + + assistantClosed + assistantClosed + () + + + assistantOpened + assistantOpened + () + + + closeAssistant + closeAssistant + () + + + error + error + ( const QString & message ) + + + openAssistant + openAssistant + () + + + setArguments + setArguments + ( const QStringList & arguments ) + + + showPage + showPage + ( const QString & page ) + + + + QAuthenticator + qauthenticator.html + + QAuthenticator + QAuthenticator + () + + + QAuthenticator + QAuthenticator-2 + ( const QAuthenticator & other ) + + + isNull + isNull + () + + + password + password + () + + + realm + realm + () + + + setPassword + setPassword + ( const QString & password ) + + + setUser + setUser + ( const QString & user ) + + + user + user + () + + + operator!= + operator-not-eq + ( const QAuthenticator & other ) + + + operator= + operator-eq + ( const QAuthenticator & other ) + + + operator== + operator-eq-eq + ( const QAuthenticator & other ) + + + + QAxAggregated + qaxaggregated.html + + controllingUnknown + controllingUnknown + () + + + object + object + () + + + queryInterface + queryInterface + ( const QUuid & iid, void ** iface ) + + + widget + widget + () + + + + QAxBase + qaxbase.html + + PropertyBag + PropertyBag-typedef + + + + QAxBase + QAxBase + ( IUnknown * iface = 0 ) + + + asVariant + asVariant + () + + + clear + clear + () + + + disableClassInfo + disableClassInfo + () + + + disableEventSink + disableEventSink + () + + + disableMetaObject + disableMetaObject + () + + + dynamicCall + dynamicCall + ( const char * function, const QVariant & var1 = QVariant() + + + dynamicCall + dynamicCall-2 + ( const char * function, QList<QVariant> & vars ) + + + exception + exception + ( int code, const QString & source, const QString & desc, const QString & help ) + + + generateDocumentation + generateDocumentation + () + + + initialize + initialize + ( IUnknown ** ptr ) + + + initializeActive + initializeActive + ( IUnknown ** ptr ) + + + initializeFromFile + initializeFromFile + ( IUnknown ** ptr ) + + + initializeLicensed + initializeLicensed + ( IUnknown ** ptr ) + + + initializeRemote + initializeRemote + ( IUnknown ** ptr ) + + + isNull + isNull + () + + + propertyBag + propertyBag + () + + + propertyChanged + propertyChanged + ( const QString & name ) + + + propertyWritable + propertyWritable + ( const char * prop ) + + + queryInterface + queryInterface + ( const QUuid & uuid, void ** iface ) + + + querySubObject + querySubObject + ( const char * name, const QVariant & var1 = QVariant() + + + querySubObject + querySubObject-2 + ( const char * name, QList<QVariant> & vars ) + + + setPropertyBag + setPropertyBag + ( const PropertyBag & bag ) + + + setPropertyWritable + setPropertyWritable + ( const char * prop, bool ok ) + + + signal + signal + ( const QString & name, int argc, void * argv ) + + + verbs + verbs + () + + + + QAxBindable + qaxbindable.html + + QAxBindable + QAxBindable + () + + + clientSite + clientSite + () + + + createAggregate + createAggregate + () + + + propertyChanged + propertyChanged + ( const char * property ) + + + readData + readData + ( QIODevice * source, const QString & format ) + + + reportError + reportError + ( int code, const QString & src, const QString & desc, const QString & context = QString() + + + requestPropertyChange + requestPropertyChange + ( const char * property ) + + + writeData + writeData + ( QIODevice * sink ) + + + + QAxFactory + qaxfactory.html + + ServerType + ServerType-enum + + + + QAxFactory + QAxFactory + ( const QUuid & libid, const QUuid & appid ) + + + appID + appID + () + + + classID + classID + ( const QString & key ) + + + createObject + createObject + ( const QString & key ) + + + createObjectWrapper + createObjectWrapper + ( QObject * object, IDispatch ** wrapper ) + + + eventsID + eventsID + ( const QString & key ) + + + exposeToSuperClass + exposeToSuperClass + ( const QString & key ) + + + featureList + featureList + () + + + hasStockEvents + hasStockEvents + ( const QString & key ) + + + interfaceID + interfaceID + ( const QString & key ) + + + isServer + isServer + () + + + isService + isService + () + + + metaObject + metaObject + ( const QString & key ) + + + registerActiveObject + registerActiveObject + ( QObject * object ) + + + registerClass + registerClass + ( const QString & key, QSettings * settings ) + + + serverDirPath + serverDirPath + () + + + serverFilePath + serverFilePath + () + + + startServer + startServer + ( ServerType type = MultipleInstances ) + + + stayTopLevel + stayTopLevel + ( const QString & key ) + + + stopServer + stopServer + () + + + typeLibID + typeLibID + () + + + unregisterClass + unregisterClass + ( const QString & key, QSettings * settings ) + + + validateLicenseKey + validateLicenseKey + ( const QString & key, const QString & licenseKey ) + + + + QAxObject + qaxobject.html + + QAxObject + QAxObject + ( QObject * parent = 0 ) + + + QAxObject + QAxObject-2 + ( const QString & c, QObject * parent = 0 ) + + + QAxObject + QAxObject-3 + ( IUnknown * iface, QObject * parent = 0 ) + + + doVerb + doVerb + ( const QString & verb ) + + + + QAxScript + qaxscript.html + + FunctionFlags + FunctionFlags-enum + + + + QAxScript + QAxScript + ( const QString & name, QAxScriptManager * manager ) + + + call + call + ( const QString & function, const QVariant & var1 = QVariant() + + + call + call-2 + ( const QString & function, QList<QVariant> & arguments ) + + + entered + entered + () + + + error + error + ( int code, const QString & description, int sourcePosition, const QString & sourceText ) + + + finished + finished + () + + + finished + finished-2 + ( const QVariant & result ) + + + finished + finished-3 + ( int code, const QString & source, const QString & description, const QString & help ) + + + functions + functions + ( FunctionFlags flags = FunctionNames ) + + + load + load + ( const QString & code, const QString & language = QString() + + + scriptCode + scriptCode + () + + + scriptEngine + scriptEngine + () + + + scriptName + scriptName + () + + + stateChanged + stateChanged + ( int state ) + + + + QAxScriptEngine + qaxscriptengine.html + + State + State-enum + + + + QAxScriptEngine + QAxScriptEngine + ( const QString & language, QAxScript * script ) + + + addItem + addItem + ( const QString & name ) + + + hasIntrospection + hasIntrospection + () + + + isValid + isValid + () + + + queryInterface + queryInterface + ( const QUuid & uuid, void ** iface ) + + + scriptLanguage + scriptLanguage + () + + + setState + setState + ( State st ) + + + state + state + () + + + + QAxScriptManager + qaxscriptmanager.html + + QAxScriptManager + QAxScriptManager + ( QObject * parent = 0 ) + + + addObject + addObject + ( QAxBase * object ) + + + addObject + addObject-2 + ( QObject * object ) + + + call + call + ( const QString & function, const QVariant & var1 = QVariant() + + + call + call-2 + ( const QString & function, QList<QVariant> & arguments ) + + + error + error + ( QAxScript * script, int code, const QString & description, int sourcePosition, const QString & sourceText ) + + + functions + functions + ( QAxScript::FunctionFlags flags = QAxScript::FunctionNames ) + + + load + load + ( const QString & code, const QString & name, const QString & language ) + + + load + load-2 + ( const QString & file, const QString & name ) + + + registerEngine + registerEngine + ( const QString & name, const QString & extension, const QString & code = QString() + + + script + script + ( const QString & name ) + + + scriptFileFilter + scriptFileFilter + () + + + scriptNames + scriptNames + () + + + + QAxWidget + qaxwidget.html + + QAxWidget + QAxWidget + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + QAxWidget + QAxWidget-2 + ( const QString & c, QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + QAxWidget + QAxWidget-3 + ( IUnknown * iface, QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + createAggregate + createAggregate + () + + + createHostWindow + createHostWindow + ( bool initialized ) + + + doVerb + doVerb + ( const QString & verb ) + + + initialize + initialize + ( IUnknown ** ptr ) + + + translateKeyEvent + translateKeyEvent + ( int message, int keycode ) + + + + QBasicTimer + qbasictimer.html + + QBasicTimer + QBasicTimer + () + + + isActive + isActive + () + + + start + start + ( int msec, QObject * object ) + + + stop + stop + () + + + timerId + timerId + () + + + + QBitArray + qbitarray.html + + DataPtr + DataPtr-typedef + + + + QBitArray + QBitArray + () + + + QBitArray + QBitArray-2 + ( int size, bool value = false ) + + + QBitArray + QBitArray-3 + ( const QBitArray & other ) + + + at + at + ( int i ) + + + clear + clear + () + + + clearBit + clearBit + ( int i ) + + + count + count + () + + + count + count-2 + ( bool on ) + + + data_ptr + data_ptr + () + + + fill + fill + ( bool value, int size = -1 ) + + + fill + fill-2 + ( bool value, int begin, int end ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + resize + resize + ( int size ) + + + setBit + setBit + ( int i ) + + + setBit + setBit-2 + ( int i, bool value ) + + + size + size + () + + + testBit + testBit + ( int i ) + + + toggleBit + toggleBit + ( int i ) + + + truncate + truncate + ( int pos ) + + + operator!= + operator-not-eq + ( const QBitArray & other ) + + + operator& + operator-and-eq + amp;=( const QBitArray & other ) + + + operator= + operator-eq + ( const QBitArray & other ) + + + operator== + operator-eq-eq + ( const QBitArray & other ) + + + operator[] + operator-5b-5d + ( int i ) + + + operator[] + operator-5b-5d-2 + ( int i ) + + + operator[] + operator-5b-5d-3 + ( uint i ) + + + operator[] + operator-5b-5d-4 + ( uint i ) + + + operator^= + operator-5e-eq + ( const QBitArray & other ) + + + operator|= + operator-7c-eq + ( const QBitArray & other ) + + + operator~ + operator-7e + () + + + QBitmap + QBitmap-6 + ( int width, int height, bool clear ) + + + QBitmap + QBitmap-7 + ( const QSize & size, bool clear ) + + + QBitmap + QBitmap-8 + ( int width, int height, const uchar * bits, bool isXbitmap = false ) + + + QBitmap + QBitmap-9 + ( const QImage & image ) + + + QBitmap + QBitmap-10 + ( const QSize & size, const uchar * bits, bool isXbitmap = false ) + + + xForm + xForm + ( const QMatrix & matrix ) + + + operator= + operator-eq-2 + ( const QImage & image ) + + + + QBitmap + qbitmap.html + + QBitmap + QBitmap + () + + + QBitmap + QBitmap-2 + ( const QPixmap & pixmap ) + + + QBitmap + QBitmap-3 + ( int width, int height ) + + + QBitmap + QBitmap-4 + ( const QSize & size ) + + + QBitmap + QBitmap-5 + ( const QString & fileName, const char * format = 0 ) + + + clear + clear + () + + + fromData + fromData + ( const QSize & size, const uchar * bits, QImage::Format monoFormat = QImage::Format_MonoLSB ) + + + fromImage + fromImage + ( const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + transformed + transformed + ( const QMatrix & matrix ) + + + transformed + transformed-2 + ( const QTransform & matrix ) + + + operator + operator-QVariant + QVariant() + + + operator= + operator-eq + ( const QPixmap & pixmap ) + + + QBitmap + QBitmap-6 + ( int width, int height, bool clear ) + + + QBitmap + QBitmap-7 + ( const QSize & size, bool clear ) + + + QBitmap + QBitmap-8 + ( int width, int height, const uchar * bits, bool isXbitmap = false ) + + + QBitmap + QBitmap-9 + ( const QImage & image ) + + + QBitmap + QBitmap-10 + ( const QSize & size, const uchar * bits, bool isXbitmap = false ) + + + xForm + xForm + ( const QMatrix & matrix ) + + + operator= + operator-eq-2 + ( const QImage & image ) + + + QBoxLayout + QBoxLayout-2 + ( QWidget * parent, Direction dir, int margin = 0, int spacing = -1, const char * name = 0 ) + + + QBoxLayout + QBoxLayout-3 + ( QLayout * parentLayout, Direction dir, int spacing = -1, const char * name = 0 ) + + + QBoxLayout + QBoxLayout-4 + ( Direction dir, int spacing, const char * name = 0 ) + + + findWidget + findWidget + ( QWidget * widget ) + + + + QBoxLayout + qboxlayout.html + + Direction + Direction-enum + + + + QBoxLayout + QBoxLayout + ( Direction dir, QWidget * parent = 0 ) + + + addLayout + addLayout + ( QLayout * layout, int stretch = 0 ) + + + addSpacing + addSpacing + ( int size ) + + + addStretch + addStretch + ( int stretch = 0 ) + + + addStrut + addStrut + ( int size ) + + + addWidget + addWidget + ( QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0 ) + + + direction + direction + () + + + insertItem + insertItem + ( int index, QLayoutItem * item ) + + + insertLayout + insertLayout + ( int index, QLayout * layout, int stretch = 0 ) + + + insertSpacing + insertSpacing + ( int index, int size ) + + + insertStretch + insertStretch + ( int index, int stretch = 0 ) + + + insertWidget + insertWidget + ( int index, QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0 ) + + + invalidate + invalidate + () + + + setDirection + setDirection + ( Direction direction ) + + + setSpacing + setSpacing + ( int spacing ) + + + setStretchFactor + setStretchFactor + ( QWidget * widget, int stretch ) + + + setStretchFactor + setStretchFactor-2 + ( QLayout * layout, int stretch ) + + + spacing + spacing + () + + + QBoxLayout + QBoxLayout-2 + ( QWidget * parent, Direction dir, int margin = 0, int spacing = -1, const char * name = 0 ) + + + QBoxLayout + QBoxLayout-3 + ( QLayout * parentLayout, Direction dir, int spacing = -1, const char * name = 0 ) + + + QBoxLayout + QBoxLayout-4 + ( Direction dir, int spacing, const char * name = 0 ) + + + findWidget + findWidget + ( QWidget * widget ) + + + pixmap + pixmap + () + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + operator + operator-const-QColor--and + const QColor &() + + + + QBrush + qbrush.html + + DataPtr + DataPtr-typedef + + + + QBrush + QBrush + () + + + QBrush + QBrush-2 + ( Qt::BrushStyle style ) + + + QBrush + QBrush-3 + ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern ) + + + QBrush + QBrush-4 + ( Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern ) + + + QBrush + QBrush-5 + ( const QColor & color, const QPixmap & pixmap ) + + + QBrush + QBrush-6 + ( Qt::GlobalColor color, const QPixmap & pixmap ) + + + QBrush + QBrush-7 + ( const QPixmap & pixmap ) + + + QBrush + QBrush-8 + ( const QImage & image ) + + + QBrush + QBrush-9 + ( const QBrush & other ) + + + QBrush + QBrush-10 + ( const QGradient & gradient ) + + + color + color + () + + + data_ptr + data_ptr + () + + + gradient + gradient + () + + + isDetached + isDetached + () + + + isOpaque + isOpaque + () + + + matrix + matrix + () + + + setColor + setColor + ( const QColor & color ) + + + setColor + setColor-2 + ( Qt::GlobalColor color ) + + + setMatrix + setMatrix + ( const QMatrix & matrix ) + + + setStyle + setStyle + ( Qt::BrushStyle style ) + + + setTexture + setTexture + ( const QPixmap & pixmap ) + + + setTextureImage + setTextureImage + ( const QImage & image ) + + + setTransform + setTransform + ( const QTransform & ) + + + BrushStyle + style + QBrush::style() + + + texture + texture + () + + + textureImage + textureImage + () + + + transform + transform + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QBrush & brush ) + + + operator= + operator-eq + ( const QBrush & brush ) + + + operator== + operator-eq-eq + ( const QBrush & brush ) + + + pixmap + pixmap + () + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + operator + operator-const-QColor--and + const QColor &() + + + + QBuffer + qbuffer.html + + QBuffer + QBuffer + ( QObject * parent = 0 ) + + + QBuffer + QBuffer-2 + ( QByteArray * byteArray, QObject * parent = 0 ) + + + buffer + buffer + () + + + buffer + buffer-2 + () + + + data + data + () + + + setBuffer + setBuffer + ( QByteArray * byteArray ) + + + setData + setData + ( const QByteArray & data ) + + + setData + setData-2 + ( const char * data, int size ) + + + insert + insert + ( QAbstractButton * b ) + + + remove + remove + ( QAbstractButton * b ) + + + + QButtonGroup + qbuttongroup.html + + QButtonGroup + QButtonGroup + ( QObject * parent = 0 ) + + + addButton + addButton + ( QAbstractButton * button ) + + + addButton + addButton-2 + ( QAbstractButton * button, int id ) + + + button + button + ( int id ) + + + buttonClicked + buttonClicked + ( QAbstractButton * button ) + + + buttonClicked + buttonClicked-2 + ( int id ) + + + buttonPressed + buttonPressed + ( QAbstractButton * button ) + + + buttonPressed + buttonPressed-2 + ( int id ) + + + buttonReleased + buttonReleased + ( QAbstractButton * button ) + + + buttonReleased + buttonReleased-2 + ( int id ) + + + buttons + buttons + () + + + checkedButton + checkedButton + () + + + checkedId + checkedId + () + + + id + id + ( QAbstractButton * button ) + + + removeButton + removeButton + ( QAbstractButton * button ) + + + setId + setId + ( QAbstractButton * button, int id ) + + + insert + insert + ( QAbstractButton * b ) + + + remove + remove + ( QAbstractButton * b ) + + + QByteArray + QByteArray-6 + ( int size ) + + + duplicate + duplicate + ( const QByteArray & a ) + + + duplicate + duplicate-2 + ( const char * a, uint n ) + + + find + find + ( char c, int from = 0 ) + + + find + find-2 + ( const char * c, int from = 0 ) + + + find + find-3 + ( const QByteArray & ba, int from = 0 ) + + + find + find-4 + ( const QString & s, int from = 0 ) + + + findRev + findRev + ( char c, int from = -1 ) + + + findRev + findRev-2 + ( const char * c, int from = -1 ) + + + findRev + findRev-3 + ( const QByteArray & ba, int from = -1 ) + + + findRev + findRev-4 + ( const QString & s, int from = -1 ) + + + leftJustify + leftJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + lower + lower + () + + + resetRawData + resetRawData + ( const char * data, uint n ) + + + rightJustify + rightJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + setRawData + setRawData + ( const char * a, uint n ) + + + simplifyWhiteSpace + simplifyWhiteSpace + () + + + stripWhiteSpace + stripWhiteSpace + () + + + upper + upper + () + + + + QByteArray + qbytearray.html + + DataPtr + DataPtr-typedef + + + + QByteArray + QByteArray + () + + + QByteArray + QByteArray-2 + ( const char * str ) + + + QByteArray + QByteArray-3 + ( const char * data, int size ) + + + QByteArray + QByteArray-4 + ( int size, char ch ) + + + QByteArray + QByteArray-5 + ( const QByteArray & other ) + + + append + append + ( const QByteArray & ba ) + + + append + append-2 + ( const QString & str ) + + + append + append-3 + ( const char * str ) + + + append + append-4 + ( char ch ) + + + at + at + ( int i ) + + + capacity + capacity + () + + + chop + chop + ( int n ) + + + clear + clear + () + + + constData + constData + () + + + contains + contains + ( const QByteArray & ba ) + + + contains + contains-2 + ( const char * str ) + + + contains + contains-3 + ( char ch ) + + + count + count + ( const QByteArray & ba ) + + + count + count-2 + ( const char * str ) + + + count + count-3 + ( char ch ) + + + count + count-4 + () + + + data + data + () + + + data + data-2 + () + + + data_ptr + data_ptr + () + + + endsWith + endsWith + ( const QByteArray & ba ) + + + endsWith + endsWith-2 + ( const char * str ) + + + endsWith + endsWith-3 + ( char ch ) + + + fill + fill + ( char ch, int size = -1 ) + + + fromBase64 + fromBase64 + ( const QByteArray & base64 ) + + + fromHex + fromHex + ( const QByteArray & hexEncoded ) + + + fromRawData + fromRawData + ( const char * data, int size ) + + + indexOf + indexOf + ( const QByteArray & ba, int from = 0 ) + + + indexOf + indexOf-2 + ( const QString & str, int from = 0 ) + + + indexOf + indexOf-3 + ( const char * str, int from = 0 ) + + + indexOf + indexOf-4 + ( char ch, int from = 0 ) + + + insert + insert + ( int i, const QByteArray & ba ) + + + insert + insert-2 + ( int i, const QString & str ) + + + insert + insert-3 + ( int i, const char * str ) + + + insert + insert-4 + ( int i, char ch ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + lastIndexOf + lastIndexOf + ( const QByteArray & ba, int from = -1 ) + + + lastIndexOf + lastIndexOf-2 + ( const QString & str, int from = -1 ) + + + lastIndexOf + lastIndexOf-3 + ( const char * str, int from = -1 ) + + + lastIndexOf + lastIndexOf-4 + ( char ch, int from = -1 ) + + + left + left + ( int len ) + + + leftJustified + leftJustified + ( int width, char fill = ' ', bool truncate = false ) + + + length + length + () + + + mid + mid + ( int pos, int len = -1 ) + + + number + number + ( int n, int base = 10 ) + + + number + number-2 + ( uint n, int base = 10 ) + + + number + number-3 + ( qlonglong n, int base = 10 ) + + + number + number-4 + ( qulonglong n, int base = 10 ) + + + number + number-5 + ( double n, char f = 'g', int prec = 6 ) + + + prepend + prepend + ( const QByteArray & ba ) + + + prepend + prepend-2 + ( const char * str ) + + + prepend + prepend-3 + ( char ch ) + + + push_back + push_back + ( const QByteArray & other ) + + + push_back + push_back-2 + ( const char * str ) + + + push_back + push_back-3 + ( char ch ) + + + push_front + push_front + ( const QByteArray & other ) + + + push_front + push_front-2 + ( const char * str ) + + + push_front + push_front-3 + ( char ch ) + + + remove + remove + ( int pos, int len ) + + + replace + replace + ( int pos, int len, const QByteArray & after ) + + + replace + replace-2 + ( int pos, int len, const char * after ) + + + replace + replace-3 + ( const QByteArray & before, const QByteArray & after ) + + + replace + replace-4 + ( const char * before, const QByteArray & after ) + + + replace + replace-5 + ( const QByteArray & before, const char * after ) + + + replace + replace-6 + ( const QString & before, const QByteArray & after ) + + + replace + replace-7 + ( const QString & before, const char * after ) + + + replace + replace-8 + ( const char * before, const char * after ) + + + replace + replace-9 + ( char before, const QByteArray & after ) + + + replace + replace-10 + ( char before, const QString & after ) + + + replace + replace-11 + ( char before, const char * after ) + + + replace + replace-12 + ( char before, char after ) + + + reserve + reserve + ( int size ) + + + resize + resize + ( int size ) + + + right + right + ( int len ) + + + rightJustified + rightJustified + ( int width, char fill = ' ', bool truncate = false ) + + + setNum + setNum + ( int n, int base = 10 ) + + + setNum + setNum-2 + ( uint n, int base = 10 ) + + + setNum + setNum-3 + ( short n, int base = 10 ) + + + setNum + setNum-4 + ( ushort n, int base = 10 ) + + + setNum + setNum-5 + ( qlonglong n, int base = 10 ) + + + setNum + setNum-6 + ( qulonglong n, int base = 10 ) + + + setNum + setNum-7 + ( double n, char f = 'g', int prec = 6 ) + + + setNum + setNum-8 + ( float n, char f = 'g', int prec = 6 ) + + + simplified + simplified + () + + + size + size + () + + + split + split + ( char sep ) + + + squeeze + squeeze + () + + + startsWith + startsWith + ( const QByteArray & ba ) + + + startsWith + startsWith-2 + ( const char * str ) + + + startsWith + startsWith-3 + ( char ch ) + + + toBase64 + toBase64 + () + + + toDouble + toDouble + ( bool * ok = 0 ) + + + toFloat + toFloat + ( bool * ok = 0 ) + + + toHex + toHex + () + + + toInt + toInt + ( bool * ok = 0, int base = 10 ) + + + toLong + toLong + ( bool * ok = 0, int base = 10 ) + + + toLongLong + toLongLong + ( bool * ok = 0, int base = 10 ) + + + toLower + toLower + () + + + toShort + toShort + ( bool * ok = 0, int base = 10 ) + + + toUInt + toUInt + ( bool * ok = 0, int base = 10 ) + + + toULong + toULong + ( bool * ok = 0, int base = 10 ) + + + toULongLong + toULongLong + ( bool * ok = 0, int base = 10 ) + + + toUShort + toUShort + ( bool * ok = 0, int base = 10 ) + + + toUpper + toUpper + () + + + trimmed + trimmed + () + + + truncate + truncate + ( int pos ) + + + operator + operator-const-char--2a + const char *() + + + operator + operator-const-void--2a + const void *() + + + operator!= + operator-not-eq + ( const QString & str ) + + + operator+= + operator-2b-eq + ( const QByteArray & ba ) + + + operator+= + operator-2b-eq-2 + ( const QString & str ) + + + operator+= + operator-2b-eq-3 + ( const char * str ) + + + operator+= + operator-2b-eq-4 + ( char ch ) + + + operator< + operator-lt + ( const QString & str ) + + + operator<= + operator-lt-eq + ( const QString & str ) + + + operator= + operator-eq + ( const QByteArray & other ) + + + operator= + operator-eq-2 + ( const char * str ) + + + operator== + operator-eq-eq + ( const QString & str ) + + + operator> + operator-gt + ( const QString & str ) + + + operator>= + operator-gt-eq + ( const QString & str ) + + + operator[] + operator-5b-5d + ( int i ) + + + operator[] + operator-5b-5d-2 + ( int i ) + + + operator[] + operator-5b-5d-3 + ( uint i ) + + + operator[] + operator-5b-5d-4 + ( uint i ) + + + QByteArray + QByteArray-6 + ( int size ) + + + duplicate + duplicate + ( const QByteArray & a ) + + + duplicate + duplicate-2 + ( const char * a, uint n ) + + + find + find + ( char c, int from = 0 ) + + + find + find-2 + ( const char * c, int from = 0 ) + + + find + find-3 + ( const QByteArray & ba, int from = 0 ) + + + find + find-4 + ( const QString & s, int from = 0 ) + + + findRev + findRev + ( char c, int from = -1 ) + + + findRev + findRev-2 + ( const char * c, int from = -1 ) + + + findRev + findRev-3 + ( const QByteArray & ba, int from = -1 ) + + + findRev + findRev-4 + ( const QString & s, int from = -1 ) + + + leftJustify + leftJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + lower + lower + () + + + resetRawData + resetRawData + ( const char * data, uint n ) + + + rightJustify + rightJustify + ( uint width, char fill = ' ', bool truncate = false ) + + + setRawData + setRawData + ( const char * a, uint n ) + + + simplifyWhiteSpace + simplifyWhiteSpace + () + + + stripWhiteSpace + stripWhiteSpace + () + + + upper + upper + () + + + + QByteArrayMatcher + qbytearraymatcher.html + + QByteArrayMatcher + QByteArrayMatcher + () + + + QByteArrayMatcher + QByteArrayMatcher-2 + ( const QByteArray & pattern ) + + + QByteArrayMatcher + QByteArrayMatcher-3 + ( const QByteArrayMatcher & other ) + + + indexIn + indexIn + ( const QByteArray & ba, int from = 0 ) + + + pattern + pattern + () + + + setPattern + setPattern + ( const QByteArray & pattern ) + + + operator= + operator-eq + ( const QByteArrayMatcher & other ) + + + QCache + QCache-2 + ( int maxCost, int dummy ) + + + + QCache + qcache.html + + QCache + QCache + ( int maxCost = 100 ) + + + clear + clear + () + + + contains + contains + ( const Key & key ) + + + count + count + () + + + insert + insert + ( const Key & key, T * object, int cost = 1 ) + + + isEmpty + isEmpty + () + + + keys + keys + () + + + maxCost + maxCost + () + + + object + object + ( const Key & key ) + + + remove + remove + ( const Key & key ) + + + setMaxCost + setMaxCost + ( int cost ) + + + size + size + () + + + take + take + ( const Key & key ) + + + totalCost + totalCost + () + + + operator[] + operator-5b-5d + ( const Key & key ) + + + QCache + QCache-2 + ( int maxCost, int dummy ) + + + + QCalendarWidget + qcalendarwidget.html + + HorizontalHeaderFormat + HorizontalHeaderFormat-enum + + + + SelectionMode + SelectionMode-enum + + + + VerticalHeaderFormat + VerticalHeaderFormat-enum + + + + DayOfWeek + firstDayOfWeek-prop + + + + QCalendarWidget + QCalendarWidget + ( QWidget * parent = 0 ) + + + activated + activated + ( const QDate & date ) + + + clicked + clicked + ( const QDate & date ) + + + currentPageChanged + currentPageChanged + ( int year, int month ) + + + dateTextFormat + dateTextFormat + () + + + dateTextFormat + dateTextFormat-2 + ( const QDate & date ) + + + headerTextFormat + headerTextFormat + () + + + monthShown + monthShown + () + + + paintCell + paintCell + ( QPainter * painter, const QRect & rect, const QDate & date ) + + + selectionChanged + selectionChanged + () + + + setCurrentPage + setCurrentPage + ( int year, int month ) + + + setDateRange + setDateRange + ( const QDate & min, const QDate & max ) + + + setDateTextFormat + setDateTextFormat + ( const QDate & date, const QTextCharFormat & format ) + + + setHeaderTextFormat + setHeaderTextFormat + ( const QTextCharFormat & format ) + + + setWeekdayTextFormat + setWeekdayTextFormat + ( Qt::DayOfWeek dayOfWeek, const QTextCharFormat & format ) + + + showNextMonth + showNextMonth + () + + + showNextYear + showNextYear + () + + + showPreviousMonth + showPreviousMonth + () + + + showPreviousYear + showPreviousYear + () + + + showSelectedDate + showSelectedDate + () + + + showToday + showToday + () + + + weekdayTextFormat + weekdayTextFormat + ( Qt::DayOfWeek dayOfWeek ) + + + yearShown + yearShown + () + + + + QCDEStyle + qcdestyle.html + + QCDEStyle + QCDEStyle + ( bool useHighlightCols = false ) + + + ascii + ascii + () + + + latin1 + latin1 + () + + + lower + lower + () + + + mirrored + mirrored + () + + + networkOrdered + networkOrdered + () + + + upper + upper + () + + + + QChar + qchar.html + + Category + Category-enum + + + + Decomposition + Decomposition-enum + + + + Direction + Direction-enum + + + + Joining + Joining-enum + + + + SpecialCharacter + SpecialCharacter-enum + + + + UnicodeVersion + UnicodeVersion-enum + + + + QChar + QChar + () + + + QChar + QChar-2 + ( char ch ) + + + QChar + QChar-3 + ( uchar ch ) + + + QChar + QChar-4 + ( QLatin1Char ch ) + + + QChar + QChar-5 + ( uchar cell, uchar row ) + + + QChar + QChar-6 + ( ushort code ) + + + QChar + QChar-7 + ( short code ) + + + QChar + QChar-8 + ( uint code ) + + + QChar + QChar-9 + ( int code ) + + + QChar + QChar-10 + ( SpecialCharacter ch ) + + + category + category + () + + + category + category-2 + ( uint ucs4 ) + + + category + category-3 + ( ushort ucs2 ) + + + cell + cell + () + + + combiningClass + combiningClass + () + + + combiningClass + combiningClass-2 + ( uint ucs4 ) + + + combiningClass + combiningClass-3 + ( ushort ucs2 ) + + + decomposition + decomposition + () + + + decomposition + decomposition-2 + ( uint ucs4 ) + + + decompositionTag + decompositionTag + () + + + decompositionTag + decompositionTag-2 + ( uint ucs4 ) + + + digitValue + digitValue + () + + + digitValue + digitValue-2 + ( ushort ucs2 ) + + + digitValue + digitValue-3 + ( uint ucs4 ) + + + direction + direction + () + + + direction + direction-2 + ( uint ucs4 ) + + + direction + direction-3 + ( ushort ucs2 ) + + + fromAscii + fromAscii + ( char c ) + + + fromLatin1 + fromLatin1 + ( char c ) + + + hasMirrored + hasMirrored + () + + + highSurrogate + highSurrogate + ( uint ucs4 ) + + + isDigit + isDigit + () + + + isHighSurrogate + isHighSurrogate + () + + + isLetter + isLetter + () + + + isLetterOrNumber + isLetterOrNumber + () + + + isLowSurrogate + isLowSurrogate + () + + + isLower + isLower + () + + + isMark + isMark + () + + + isNull + isNull + () + + + isNumber + isNumber + () + + + isPrint + isPrint + () + + + isPunct + isPunct + () + + + isSpace + isSpace + () + + + isSymbol + isSymbol + () + + + isTitleCase + isTitleCase + () + + + isUpper + isUpper + () + + + joining + joining + () + + + joining + joining-2 + ( uint ucs4 ) + + + joining + joining-3 + ( ushort ucs2 ) + + + lowSurrogate + lowSurrogate + ( uint ucs4 ) + + + mirroredChar + mirroredChar + () + + + mirroredChar + mirroredChar-2 + ( uint ucs4 ) + + + mirroredChar + mirroredChar-3 + ( ushort ucs2 ) + + + row + row + () + + + surrogateToUcs4 + surrogateToUcs4 + ( ushort high, ushort low ) + + + surrogateToUcs4 + surrogateToUcs4-2 + ( QChar high, QChar low ) + + + toAscii + toAscii + () + + + toCaseFolded + toCaseFolded + () + + + toCaseFolded + toCaseFolded-2 + ( uint ucs4 ) + + + toCaseFolded + toCaseFolded-3 + ( ushort ucs2 ) + + + toLatin1 + toLatin1 + () + + + toLower + toLower + () + + + toLower + toLower-2 + ( uint ucs4 ) + + + toLower + toLower-3 + ( ushort ucs2 ) + + + toTitleCase + toTitleCase + () + + + toTitleCase + toTitleCase-2 + ( uint ucs4 ) + + + toTitleCase + toTitleCase-3 + ( ushort ucs2 ) + + + toUpper + toUpper + () + + + toUpper + toUpper-2 + ( uint ucs4 ) + + + toUpper + toUpper-3 + ( ushort ucs2 ) + + + unicode + unicode + () + + + unicode + unicode-2 + () + + + unicodeVersion + unicodeVersion + () + + + unicodeVersion + unicodeVersion-2 + ( uint ucs4 ) + + + unicodeVersion + unicodeVersion-3 + ( ushort ucs2 ) + + + ascii + ascii + () + + + latin1 + latin1 + () + + + lower + lower + () + + + mirrored + mirrored + () + + + networkOrdered + networkOrdered + () + + + upper + upper + () + + + ToggleState + ToggleState-enum + + + + QCheckBox + QCheckBox-3 + ( QWidget * parent, const char * name ) + + + QCheckBox + QCheckBox-4 + ( const QString & text, QWidget * parent, const char * name ) + + + setNoChange + setNoChange + () + + + setState + setState + ( ToggleState state ) + + + state + state + () + + + + QCheckBox + qcheckbox.html + + QCheckBox + QCheckBox + ( QWidget * parent = 0 ) + + + QCheckBox + QCheckBox-2 + ( const QString & text, QWidget * parent = 0 ) + + + CheckState + checkState + QCheckBox::checkState() + + + initStyleOption + initStyleOption + ( QStyleOptionButton * option ) + + + setCheckState + setCheckState + ( Qt::CheckState state ) + + + stateChanged + stateChanged + ( int state ) + + + ToggleState + ToggleState-enum + + + + QCheckBox + QCheckBox-3 + ( QWidget * parent, const char * name ) + + + QCheckBox + QCheckBox-4 + ( const QString & text, QWidget * parent, const char * name ) + + + setNoChange + setNoChange + () + + + setState + setState + ( ToggleState state ) + + + state + state + () + + + inserted + inserted + () + + + + QChildEvent + qchildevent.html + + QChildEvent + QChildEvent + ( Type type, QObject * child ) + + + added + added + () + + + child + child + () + + + polished + polished + () + + + removed + removed + () + + + inserted + inserted + () + + + + QCleanlooksStyle + qcleanlooksstyle.html + + QCleanlooksStyle + QCleanlooksStyle + () + + + drawItemText + drawItemText + ( QPainter * painter, const QRect & rectangle, int alignment, const QPalette & palette, bool enabled, const QString & text, QPalette::ColorRole textRole = QPalette::NoRole ) + + + data + data + ( Mode mode = Clipboard ) + + + setData + setData + ( QMimeSource * src, Mode mode = Clipboard ) + + + + QClipboard + qclipboard.html + + Mode + Mode-enum + + + + changed + changed + ( QClipboard::Mode mode ) + + + clear + clear + ( Mode mode = Clipboard ) + + + dataChanged + dataChanged + () + + + findBufferChanged + findBufferChanged + () + + + image + image + ( Mode mode = Clipboard ) + + + mimeData + mimeData + ( Mode mode = Clipboard ) + + + ownsClipboard + ownsClipboard + () + + + ownsFindBuffer + ownsFindBuffer + () + + + ownsSelection + ownsSelection + () + + + pixmap + pixmap + ( Mode mode = Clipboard ) + + + selectionChanged + selectionChanged + () + + + setImage + setImage + ( const QImage & image, Mode mode = Clipboard ) + + + setMimeData + setMimeData + ( QMimeData * src, Mode mode = Clipboard ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap, Mode mode = Clipboard ) + + + setText + setText + ( const QString & text, Mode mode = Clipboard ) + + + supportsFindBuffer + supportsFindBuffer + () + + + supportsSelection + supportsSelection + () + + + text + text + ( Mode mode = Clipboard ) + + + text + text-2 + ( QString & subtype, Mode mode = Clipboard ) + + + data + data + ( Mode mode = Clipboard ) + + + setData + setData + ( QMimeSource * src, Mode mode = Clipboard ) + + + + QCloseEvent + qcloseevent.html + + QCloseEvent + QCloseEvent + () + + + dark + dark + ( int factor = 200 ) + + + light + light + ( int factor = 150 ) + + + QColor + QColor-8 + ( int x, int y, int z, Spec colorSpec ) + + + getRgba + getRgba + ( int * r, int * g, int * b, int * a ) + + + hsv + hsv + ( int * h, int * s, int * v ) + + + pixel + pixel + ( int screen = -1 ) + + + rgb + rgb-2 + ( int * r, int * g, int * b ) + + + setRgba + setRgba-2 + ( int r, int g, int b, int a ) + + + + QColor + qcolor.html + + Spec + Spec-enum + + + + QColor + QColor + () + + + QColor + QColor-2 + ( int r, int g, int b, int a = 255 ) + + + QColor + QColor-3 + ( QRgb color ) + + + QColor + QColor-4 + ( const QString & name ) + + + QColor + QColor-5 + ( const char * name ) + + + QColor + QColor-6 + ( const QColor & color ) + + + QColor + QColor-9 + ( Qt::GlobalColor color ) + + + allowX11ColorNames + allowX11ColorNames + () + + + alpha + alpha + () + + + alphaF + alphaF + () + + + black + black + () + + + blackF + blackF + () + + + blue + blue + () + + + blueF + blueF + () + + + colorNames + colorNames + () + + + convertTo + convertTo + ( Spec colorSpec ) + + + cyan + cyan + () + + + cyanF + cyanF + () + + + darker + darker + ( int factor = 200 ) + + + fromCmyk + fromCmyk + ( int c, int m, int y, int k, int a = 255 ) + + + fromCmykF + fromCmykF + ( qreal c, qreal m, qreal y, qreal k, qreal a = 1.0 ) + + + fromHsv + fromHsv + ( int h, int s, int v, int a = 255 ) + + + fromHsvF + fromHsvF + ( qreal h, qreal s, qreal v, qreal a = 1.0 ) + + + fromRgb + fromRgb + ( QRgb rgb ) + + + fromRgb + fromRgb-2 + ( int r, int g, int b, int a = 255 ) + + + fromRgbF + fromRgbF + ( qreal r, qreal g, qreal b, qreal a = 1.0 ) + + + fromRgba + fromRgba + ( QRgb rgba ) + + + getCmyk + getCmyk + ( int * c, int * m, int * y, int * k, int * a = 0 ) + + + getCmykF + getCmykF + ( qreal * c, qreal * m, qreal * y, qreal * k, qreal * a = 0 ) + + + getHsv + getHsv + ( int * h, int * s, int * v, int * a = 0 ) + + + getHsvF + getHsvF + ( qreal * h, qreal * s, qreal * v, qreal * a = 0 ) + + + getRgb + getRgb + ( int * r, int * g, int * b, int * a = 0 ) + + + getRgbF + getRgbF + ( qreal * r, qreal * g, qreal * b, qreal * a = 0 ) + + + green + green + () + + + greenF + greenF + () + + + hue + hue + () + + + hueF + hueF + () + + + isValid + isValid + () + + + lighter + lighter + ( int factor = 150 ) + + + magenta + magenta + () + + + magentaF + magentaF + () + + + name + name + () + + + red + red + () + + + redF + redF + () + + + rgb + rgb + () + + + rgba + rgba + () + + + saturation + saturation + () + + + saturationF + saturationF + () + + + setAllowX11ColorNames + setAllowX11ColorNames + ( bool enabled ) + + + setAlpha + setAlpha + ( int alpha ) + + + setAlphaF + setAlphaF + ( qreal alpha ) + + + setBlue + setBlue + ( int blue ) + + + setBlueF + setBlueF + ( qreal blue ) + + + setCmyk + setCmyk + ( int c, int m, int y, int k, int a = 255 ) + + + setCmykF + setCmykF + ( qreal c, qreal m, qreal y, qreal k, qreal a = 1.0 ) + + + setGreen + setGreen + ( int green ) + + + setGreenF + setGreenF + ( qreal green ) + + + setHsv + setHsv + ( int h, int s, int v, int a = 255 ) + + + setHsvF + setHsvF + ( qreal h, qreal s, qreal v, qreal a = 1.0 ) + + + setNamedColor + setNamedColor + ( const QString & name ) + + + setRed + setRed + ( int red ) + + + setRedF + setRedF + ( qreal red ) + + + setRgb + setRgb + ( int r, int g, int b, int a = 255 ) + + + setRgb + setRgb-2 + ( QRgb rgb ) + + + setRgbF + setRgbF + ( qreal r, qreal g, qreal b, qreal a = 1.0 ) + + + setRgba + setRgba + ( QRgb rgba ) + + + spec + spec + () + + + toCmyk + toCmyk + () + + + toHsv + toHsv + () + + + toRgb + toRgb + () + + + value + value + () + + + valueF + valueF + () + + + yellow + yellow + () + + + yellowF + yellowF + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QColor & color ) + + + operator= + operator-eq + ( const QColor & color ) + + + operator= + operator-eq-2 + ( Qt::GlobalColor color ) + + + operator== + operator-eq-eq + ( const QColor & color ) + + + QColor + QColor-8 + ( int x, int y, int z, Spec colorSpec ) + + + getRgba + getRgba + ( int * r, int * g, int * b, int * a ) + + + hsv + hsv + ( int * h, int * s, int * v ) + + + pixel + pixel + ( int screen = -1 ) + + + rgb + rgb-2 + ( int * r, int * g, int * b ) + + + setRgba + setRgba-2 + ( int r, int g, int b, int a ) + + + getColor + getColor-2 + ( const QColor & init, QWidget * parent, const char * name ) + + + getRgba + getRgba-2 + ( QRgb rgba, bool * ok, QWidget * parent, const char * name ) + + + + QColorDialog + qcolordialog.html + + changeEvent + changeEvent + ( QEvent * e ) + + + customColor + customColor + ( int i ) + + + customCount + customCount + () + + + getColor + getColor + ( const QColor & initial = Qt::white, QWidget * parent = 0 ) + + + getRgba + getRgba + ( QRgb initial = 0xffffffff, bool * ok = 0, QWidget * parent = 0 ) + + + setCustomColor + setCustomColor + ( int number, QRgb color ) + + + setStandardColor + setStandardColor + ( int number, QRgb color ) + + + getColor + getColor-2 + ( const QColor & init, QWidget * parent, const char * name ) + + + getRgba + getRgba-2 + ( QRgb rgba, bool * ok, QWidget * parent, const char * name ) + + + background + background + () + + + base + base + () + + + brightText + brightText + () + + + button + button + () + + + buttonText + buttonText + () + + + dark + dark + () + + + foreground + foreground + () + + + highlight + highlight + () + + + highlightedText + highlightedText + () + + + light + light + () + + + link + link + () + + + linkVisited + linkVisited + () + + + mid + mid + () + + + midlight + midlight + () + + + shadow + shadow + () + + + text + text + () + + + + QColorGroup + qcolorgroup.html + + QColorGroup + QColorGroup + () + + + QColorGroup + QColorGroup-2 + ( const QBrush & foreground, const QBrush & button, const QBrush & light, const QBrush & dark, const QBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & background ) + + + QColorGroup + QColorGroup-3 + ( const QColor & foreground, const QColor & background, const QColor & light, const QColor & dark, const QColor & mid, const QColor & text, const QColor & base ) + + + QColorGroup + QColorGroup-4 + ( const QColorGroup & other ) + + + QColorGroup + QColorGroup-5 + ( const QPalette & pal ) + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QColorGroup & other ) + + + operator== + operator-eq-eq + ( const QColorGroup & other ) + + + background + background + () + + + base + base + () + + + brightText + brightText + () + + + button + button + () + + + buttonText + buttonText + () + + + dark + dark + () + + + foreground + foreground + () + + + highlight + highlight + () + + + highlightedText + highlightedText + () + + + light + light + () + + + link + link + () + + + linkVisited + linkVisited + () + + + mid + mid + () + + + midlight + midlight + () + + + shadow + shadow + () + + + text + text + () + + + + QColormap + qcolormap.html + + Mode + Mode-enum + + + + QColormap + QColormap + ( const QColormap & colormap ) + + + colorAt + colorAt + ( uint pixel ) + + + colormap + colormap + () + + + depth + depth + () + + + hPal + hPal + () + + + instance + instance + ( int screen = -1 ) + + + mode + mode + () + + + pixel + pixel + ( const QColor & color ) + + + size + size + () + + + operator= + operator-eq + ( const QColormap & colormap ) + + + + QColumnView + qcolumnview.html + + QColumnView + QColumnView + ( QWidget * parent = 0 ) + + + columnWidths + columnWidths + () + + + createColumn + createColumn + ( const QModelIndex & index ) + + + previewWidget + previewWidget + () + + + setColumnWidths + setColumnWidths + ( const QList<int> & list ) + + + setPreviewWidget + setPreviewWidget + ( QWidget * widget ) + + + updatePreviewWidget + updatePreviewWidget + ( const QModelIndex & index ) + + + CaseSensitivity + autoCompletionCaseSensitivity-prop + + + + Policy + Policy-typedef + + + + QComboBox + QComboBox-2 + ( QWidget * parent, const char * name ) + + + QComboBox + QComboBox-3 + ( bool rw, QWidget * parent, const char * name = 0 ) + + + changeItem + changeItem + ( const QString & text, int index ) + + + changeItem + changeItem-2 + ( const QPixmap & pixmap, int index ) + + + changeItem + changeItem-3 + ( const QPixmap & pixmap, const QString & text, int index ) + + + clearEdit + clearEdit + () + + + clearValidator + clearValidator + () + + + currentItem + currentItem + () + + + editable + editable + () + + + insertItem + insertItem-3 + ( const QString & text, int index = -1 ) + + + insertItem + insertItem-4 + ( const QPixmap & pixmap, int index = -1 ) + + + insertItem + insertItem-5 + ( const QPixmap & pixmap, const QString & text, int index = -1 ) + + + insertStringList + insertStringList + ( const QStringList & list, int index = -1 ) + + + insertionPolicy + insertionPolicy + () + + + pixmap + pixmap + ( int index ) + + + popup + popup + () + + + setCurrentItem + setCurrentItem + ( int index ) + + + setCurrentText + setCurrentText + ( const QString & text ) + + + setInsertionPolicy + setInsertionPolicy + ( InsertPolicy policy ) + + + text + text + ( int index ) + + + textChanged + textChanged + ( const QString & text ) + + + + QComboBox + qcombobox.html + + InsertPolicy + InsertPolicy-enum + + + + SizeAdjustPolicy + SizeAdjustPolicy-enum + + + + QComboBox + QComboBox + ( QWidget * parent = 0 ) + + + activated + activated + ( int index ) + + + activated + activated-2 + ( const QString & text ) + + + addItem + addItem + ( const QString & text, const QVariant & userData = QVariant() + + + addItem + addItem-2 + ( const QIcon & icon, const QString & text, const QVariant & userData = QVariant() + + + addItems + addItems + ( const QStringList & texts ) + + + clear + clear + () + + + clearEditText + clearEditText + () + + + completer + completer + () + + + currentIndexChanged + currentIndexChanged + ( int index ) + + + currentIndexChanged + currentIndexChanged-2 + ( const QString & text ) + + + editTextChanged + editTextChanged + ( const QString & text ) + + + findData + findData + ( const QVariant & data, int role = Qt::UserRole, Qt::MatchFlags flags = Qt::MatchExactly | Qt::MatchCaseSensitive ) + + + findText + findText + ( const QString & text, Qt::MatchFlags flags = Qt::MatchExactly | Qt::MatchCaseSensitive ) + + + hidePopup + hidePopup + () + + + highlighted + highlighted + ( int index ) + + + highlighted + highlighted-2 + ( const QString & text ) + + + initStyleOption + initStyleOption + ( QStyleOptionComboBox * option ) + + + insertItem + insertItem + ( int index, const QString & text, const QVariant & userData = QVariant() + + + insertItem + insertItem-2 + ( int index, const QIcon & icon, const QString & text, const QVariant & userData = QVariant() + + + insertItems + insertItems + ( int index, const QStringList & list ) + + + itemData + itemData + ( int index, int role = Qt::UserRole ) + + + itemDelegate + itemDelegate + () + + + itemIcon + itemIcon + ( int index ) + + + itemText + itemText + ( int index ) + + + lineEdit + lineEdit + () + + + model + model + () + + + removeItem + removeItem + ( int index ) + + + rootModelIndex + rootModelIndex + () + + + setCompleter + setCompleter + ( QCompleter * completer ) + + + setEditText + setEditText + ( const QString & text ) + + + setItemData + setItemData + ( int index, const QVariant & value, int role = Qt::UserRole ) + + + setItemDelegate + setItemDelegate + ( QAbstractItemDelegate * delegate ) + + + setItemIcon + setItemIcon + ( int index, const QIcon & icon ) + + + setItemText + setItemText + ( int index, const QString & text ) + + + setLineEdit + setLineEdit + ( QLineEdit * edit ) + + + setModel + setModel + ( QAbstractItemModel * model ) + + + setRootModelIndex + setRootModelIndex + ( const QModelIndex & index ) + + + setValidator + setValidator + ( const QValidator * validator ) + + + setView + setView + ( QAbstractItemView * itemView ) + + + showPopup + showPopup + () + + + validator + validator + () + + + view + view + () + + + Policy + Policy-typedef + + + + QComboBox + QComboBox-2 + ( QWidget * parent, const char * name ) + + + QComboBox + QComboBox-3 + ( bool rw, QWidget * parent, const char * name = 0 ) + + + changeItem + changeItem + ( const QString & text, int index ) + + + changeItem + changeItem-2 + ( const QPixmap & pixmap, int index ) + + + changeItem + changeItem-3 + ( const QPixmap & pixmap, const QString & text, int index ) + + + clearEdit + clearEdit + () + + + clearValidator + clearValidator + () + + + currentItem + currentItem + () + + + editable + editable + () + + + insertItem + insertItem-3 + ( const QString & text, int index = -1 ) + + + insertItem + insertItem-4 + ( const QPixmap & pixmap, int index = -1 ) + + + insertItem + insertItem-5 + ( const QPixmap & pixmap, const QString & text, int index = -1 ) + + + insertStringList + insertStringList + ( const QStringList & list, int index = -1 ) + + + insertionPolicy + insertionPolicy + () + + + pixmap + pixmap + ( int index ) + + + popup + popup + () + + + setCurrentItem + setCurrentItem + ( int index ) + + + setCurrentText + setCurrentText + ( const QString & text ) + + + setInsertionPolicy + setInsertionPolicy + ( InsertPolicy policy ) + + + text + text + ( int index ) + + + textChanged + textChanged + ( const QString & text ) + + + + QCommonStyle + qcommonstyle.html + + QCommonStyle + QCommonStyle + () + + + + QCompleter + qcompleter.html + + CompletionMode + CompletionMode-enum + + + + ModelSorting + ModelSorting-enum + + + + CaseSensitivity + caseSensitivity-prop + + + + QCompleter + QCompleter + ( QObject * parent = 0 ) + + + QCompleter + QCompleter-2 + ( QAbstractItemModel * model, QObject * parent = 0 ) + + + QCompleter + QCompleter-3 + ( const QStringList & list, QObject * parent = 0 ) + + + activated + activated + ( const QString & text ) + + + activated + activated-2 + ( const QModelIndex & index ) + + + complete + complete + ( const QRect & rect = QRect() + + + completionCount + completionCount + () + + + completionModel + completionModel + () + + + currentCompletion + currentCompletion + () + + + currentIndex + currentIndex + () + + + currentRow + currentRow + () + + + highlighted + highlighted + ( const QString & text ) + + + highlighted + highlighted-2 + ( const QModelIndex & index ) + + + model + model + () + + + pathFromIndex + pathFromIndex + ( const QModelIndex & index ) + + + popup + popup + () + + + setCurrentRow + setCurrentRow + ( int row ) + + + setModel + setModel + ( QAbstractItemModel * model ) + + + setPopup + setPopup + ( QAbstractItemView * popup ) + + + setWidget + setWidget + ( QWidget * widget ) + + + splitPath + splitPath + ( const QString & path ) + + + widget + widget + () + + + + QConicalGradient + qconicalgradient.html + + QConicalGradient + QConicalGradient + () + + + QConicalGradient + QConicalGradient-2 + ( const QPointF & center, qreal angle ) + + + QConicalGradient + QConicalGradient-3 + ( qreal cx, qreal cy, qreal angle ) + + + angle + angle + () + + + center + center + () + + + setAngle + setAngle + ( qreal angle ) + + + setCenter + setCenter + ( const QPointF & center ) + + + setCenter + setCenter-2 + ( qreal x, qreal y ) + + + QConstString + QConstString + ( const QChar * unicode, int size ) + + + string + string + () + + + + QConstString + qconststring.html + + QConstString + QConstString + ( const QChar * unicode, int size ) + + + string + string + () + + + QContextMenuEvent + QContextMenuEvent-3 + ( Reason reason, const QPoint & pos, const QPoint & globalPos, int dummy ) + + + QContextMenuEvent + QContextMenuEvent-4 + ( Reason reason, const QPoint & pos, int dummy ) + + + ButtonState + state + QContextMenuEvent::state() + + + + QContextMenuEvent + qcontextmenuevent.html + + Reason + Reason-enum + + + + QContextMenuEvent + QContextMenuEvent + ( Reason reason, const QPoint & pos, const QPoint & globalPos ) + + + QContextMenuEvent + QContextMenuEvent-2 + ( Reason reason, const QPoint & pos ) + + + globalPos + globalPos + () + + + globalX + globalX + () + + + globalY + globalY + () + + + pos + pos + () + + + reason + reason + () + + + x + x + () + + + y + y + () + + + QContextMenuEvent + QContextMenuEvent-3 + ( Reason reason, const QPoint & pos, const QPoint & globalPos, int dummy ) + + + QContextMenuEvent + QContextMenuEvent-4 + ( Reason reason, const QPoint & pos, int dummy ) + + + ButtonState + state + QContextMenuEvent::state() + + + QCopChannel + QCopChannel-2 + ( const QString & channel, QObject * parent, const char * name ) + + + + QCopChannel + qcopchannel.html + + QCopChannel + QCopChannel + ( const QString & channel, QObject * parent = 0 ) + + + channel + channel + () + + + flush + flush + () + + + isRegistered + isRegistered + ( const QString & channel ) + + + receive + receive + ( const QString & message, const QByteArray & data ) + + + received + received + ( const QString & message, const QByteArray & data ) + + + send + send + ( const QString & channel, const QString & message, const QByteArray & data ) + + + send + send-2 + ( const QString & channel, const QString & message ) + + + QCopChannel + QCopChannel-2 + ( const QString & channel, QObject * parent, const char * name ) + + + enter_loop + enter_loop + () + + + exit_loop + exit_loop + () + + + lock + lock + () + + + locked + locked + () + + + loopLevel + loopLevel + () + + + processOneEvent + processOneEvent + () + + + tryLock + tryLock + () + + + unlock + unlock + ( bool wakeUpGui = true ) + + + + QCoreApplication + qcoreapplication.html + + Encoding + Encoding-enum + + + + EventFilter + EventFilter-typedef + + + + QCoreApplication + QCoreApplication + ( int & argc, char ** argv ) + + + aboutToQuit + aboutToQuit + () + + + addLibraryPath + addLibraryPath + ( const QString & path ) + + + applicationDirPath + applicationDirPath + () + + + applicationFilePath + applicationFilePath + () + + + arguments + arguments + () + + + closingDown + closingDown + () + + + exec + exec + () + + + exit + exit + ( int returnCode = 0 ) + + + filterEvent + filterEvent + ( void * message, long * result ) + + + flush + flush + () + + + hasPendingEvents + hasPendingEvents + () + + + installTranslator + installTranslator + ( QTranslator * translationFile ) + + + instance + instance + () + + + libraryPaths + libraryPaths + () + + + notify + notify + ( QObject * receiver, QEvent * event ) + + + postEvent + postEvent + ( QObject * receiver, QEvent * event ) + + + postEvent + postEvent-2 + ( QObject * receiver, QEvent * event, int priority ) + + + processEvents + processEvents + ( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) + + + processEvents + processEvents-2 + ( QEventLoop::ProcessEventsFlags flags, int maxtime ) + + + quit + quit + () + + + removeLibraryPath + removeLibraryPath + ( const QString & path ) + + + removePostedEvents + removePostedEvents + ( QObject * receiver ) + + + removePostedEvents + removePostedEvents-2 + ( QObject * receiver, int eventType ) + + + removeTranslator + removeTranslator + ( QTranslator * translationFile ) + + + sendEvent + sendEvent + ( QObject * receiver, QEvent * event ) + + + sendPostedEvents + sendPostedEvents + ( QObject * receiver, int event_type ) + + + sendPostedEvents + sendPostedEvents-2 + () + + + setAttribute + setAttribute + ( Qt::ApplicationAttribute attribute, bool on = true ) + + + setEventFilter + setEventFilter + ( EventFilter filter ) + + + setLibraryPaths + setLibraryPaths + ( const QStringList & paths ) + + + startingUp + startingUp + () + + + testAttribute + testAttribute + ( Qt::ApplicationAttribute attribute ) + + + translate + translate + ( const char * context, const char * sourceText, const char * comment, Encoding encoding, int n ) + + + translate + translate-2 + ( const char * context, const char * sourceText, const char * comment = 0, Encoding encoding = CodecForTr ) + + + winEventFilter + winEventFilter + ( MSG * msg, long * result ) + + + enter_loop + enter_loop + () + + + exit_loop + exit_loop + () + + + lock + lock + () + + + locked + locked + () + + + loopLevel + loopLevel + () + + + processOneEvent + processOneEvent + () + + + tryLock + tryLock + () + + + unlock + unlock + ( bool wakeUpGui = true ) + + + + QCryptographicHash + qcryptographichash.html + + Algorithm + Algorithm-enum + + + + QCryptographicHash + QCryptographicHash + ( Algorithm method ) + + + addData + addData + ( const char * data, int length ) + + + addData + addData-2 + ( const QByteArray & data ) + + + hash + hash + ( const QByteArray & data, Algorithm method ) + + + reset + reset + () + + + result + result + () + + + + QCursor + qcursor.html + + QCursor + QCursor + () + + + QCursor + QCursor-2 + ( Qt::CursorShape shape ) + + + QCursor + QCursor-3 + ( const QBitmap & bitmap, const QBitmap & mask, int hotX = -1, int hotY = -1 ) + + + QCursor + QCursor-4 + ( const QPixmap & pixmap, int hotX = -1, int hotY = -1 ) + + + QCursor + QCursor-5 + ( const QCursor & c ) + + + QCursor + QCursor-6 + ( HCURSOR cursor ) + + + QCursor + QCursor-7 + ( Qt::HANDLE handle ) + + + bitmap + bitmap + () + + + handle + handle + () + + + hotSpot + hotSpot + () + + + mask + mask + () + + + pixmap + pixmap + () + + + pos + pos + () + + + setPos + setPos + ( int x, int y ) + + + setPos + setPos-2 + ( const QPoint & p ) + + + setShape + setShape + ( Qt::CursorShape shape ) + + + CursorShape + shape + QCursor::shape() + + + operator + operator-QVariant + QVariant() + + + operator= + operator-eq + ( const QCursor & c ) + + + QCustomEvent + QCustomEvent + ( int type, void * data = 0 ) + + + data + data + () + + + setData + setData + ( void * data ) + + + + QCustomEvent + qcustomevent.html + + QCustomEvent + QCustomEvent + ( int type, void * data = 0 ) + + + data + data + () + + + setData + setData + ( void * data ) + + + + QCustomRasterPaintDevice + qcustomrasterpaintdevice.html + + QCustomRasterPaintDevice + QCustomRasterPaintDevice + ( QWidget * widget ) + + + bytesPerLine + bytesPerLine + () + + + Format + format + QCustomRasterPaintDevice::format() + + + memory + memory + () + + + QDataStream + QDataStream-3 + ( QByteArray * array, int mode ) + + + eof + eof + () + + + isPrintableData + isPrintableData + () + + + readRawBytes + readRawBytes + ( char * str, uint len ) + + + setPrintableData + setPrintableData + ( bool enable ) + + + writeRawBytes + writeRawBytes + ( const char * str, uint len ) + + + + QDataStream + qdatastream.html + + ByteOrder + ByteOrder-enum + + + + Status + Status-enum + + + + Version + Version-enum + + + + QDataStream + QDataStream + () + + + QDataStream + QDataStream-2 + ( QIODevice * d ) + + + QDataStream + QDataStream-4 + ( QByteArray * a, QIODevice::OpenMode mode ) + + + QDataStream + QDataStream-5 + ( const QByteArray & a ) + + + atEnd + atEnd + () + + + byteOrder + byteOrder + () + + + device + device + () + + + readBytes + readBytes + ( char *& s, uint & l ) + + + readRawData + readRawData + ( char * s, int len ) + + + resetStatus + resetStatus + () + + + setByteOrder + setByteOrder + ( ByteOrder bo ) + + + setDevice + setDevice + ( QIODevice * d ) + + + setStatus + setStatus + ( Status status ) + + + setVersion + setVersion + ( int v ) + + + skipRawData + skipRawData + ( int len ) + + + status + status + () + + + unsetDevice + unsetDevice + () + + + version + version + () + + + writeBytes + writeBytes + ( const char * s, uint len ) + + + writeRawData + writeRawData + ( const char * s, int len ) + + + operator<< + operator-lt-lt + ( qint8 i ) + + + operator<< + operator-lt-lt-2 + ( bool i ) + + + operator<< + operator-lt-lt-3 + ( quint8 i ) + + + operator<< + operator-lt-lt-4 + ( quint16 i ) + + + operator<< + operator-lt-lt-5 + ( qint16 i ) + + + operator<< + operator-lt-lt-6 + ( qint32 i ) + + + operator<< + operator-lt-lt-7 + ( quint64 i ) + + + operator<< + operator-lt-lt-8 + ( qint64 i ) + + + operator<< + operator-lt-lt-9 + ( quint32 i ) + + + operator<< + operator-lt-lt-10 + ( float f ) + + + operator<< + operator-lt-lt-11 + ( double f ) + + + operator<< + operator-lt-lt-12 + ( const char * s ) + + + operator>> + operator-gt-gt + ( qint8 & i ) + + + operator>> + operator-gt-gt-2 + ( bool & i ) + + + operator>> + operator-gt-gt-3 + ( quint8 & i ) + + + operator>> + operator-gt-gt-4 + ( quint16 & i ) + + + operator>> + operator-gt-gt-5 + ( qint16 & i ) + + + operator>> + operator-gt-gt-6 + ( quint32 & i ) + + + operator>> + operator-gt-gt-7 + ( qint32 & i ) + + + operator>> + operator-gt-gt-8 + ( quint64 & i ) + + + operator>> + operator-gt-gt-9 + ( qint64 & i ) + + + operator>> + operator-gt-gt-10 + ( float & f ) + + + operator>> + operator-gt-gt-11 + ( double & f ) + + + operator>> + operator-gt-gt-12 + ( char *& s ) + + + QDataStream + QDataStream-3 + ( QByteArray * array, int mode ) + + + eof + eof + () + + + isPrintableData + isPrintableData + () + + + readRawBytes + readRawBytes + ( char * str, uint len ) + + + setPrintableData + setPrintableData + ( bool enable ) + + + writeRawBytes + writeRawBytes + ( const char * str, uint len ) + + + + QDataWidgetMapper + qdatawidgetmapper.html + + SubmitPolicy + SubmitPolicy-enum + + + + Orientation + orientation-prop + + + + QDataWidgetMapper + QDataWidgetMapper + ( QObject * parent = 0 ) + + + addMapping + addMapping + ( QWidget * widget, int section ) + + + addMapping + addMapping-2 + ( QWidget * widget, int section, const QByteArray & propertyName ) + + + clearMapping + clearMapping + () + + + currentIndexChanged + currentIndexChanged + ( int index ) + + + itemDelegate + itemDelegate + () + + + mappedPropertyName + mappedPropertyName + ( QWidget * widget ) + + + mappedSection + mappedSection + ( QWidget * widget ) + + + mappedWidgetAt + mappedWidgetAt + ( int section ) + + + model + model + () + + + removeMapping + removeMapping + ( QWidget * widget ) + + + revert + revert + () + + + rootIndex + rootIndex + () + + + setCurrentModelIndex + setCurrentModelIndex + ( const QModelIndex & index ) + + + setItemDelegate + setItemDelegate + ( QAbstractItemDelegate * delegate ) + + + setModel + setModel + ( QAbstractItemModel * model ) + + + setRootIndex + setRootIndex + ( const QModelIndex & index ) + + + submit + submit + () + + + toFirst + toFirst + () + + + toLast + toLast + () + + + toNext + toNext + () + + + toPrevious + toPrevious + () + + + setYMD + setYMD + ( int y, int m, int d ) + + + currentDate + currentDate-2 + ( Qt::TimeSpec spec ) + + + dayName + dayName + ( int weekday ) + + + leapYear + leapYear + ( int year ) + + + monthName + monthName + ( int month ) + + + + QDate + qdate.html + + QDate + QDate + () + + + QDate + QDate-2 + ( int y, int m, int d ) + + + addDays + addDays + ( int ndays ) + + + addMonths + addMonths + ( int nmonths ) + + + addYears + addYears + ( int nyears ) + + + currentDate + currentDate + () + + + day + day + () + + + dayOfWeek + dayOfWeek + () + + + dayOfYear + dayOfYear + () + + + daysInMonth + daysInMonth + () + + + daysInYear + daysInYear + () + + + daysTo + daysTo + ( const QDate & d ) + + + fromJulianDay + fromJulianDay + ( int jd ) + + + fromString + fromString + ( const QString & string, Qt::DateFormat format = Qt::TextDate ) + + + fromString + fromString-2 + ( const QString & string, const QString & format ) + + + isLeapYear + isLeapYear + ( int year ) + + + isNull + isNull + () + + + isValid + isValid + () + + + isValid + isValid-2 + ( int year, int month, int day ) + + + longDayName + longDayName + ( int weekday ) + + + longMonthName + longMonthName + ( int month ) + + + month + month + () + + + setDate + setDate + ( int year, int month, int day ) + + + shortDayName + shortDayName + ( int weekday ) + + + shortMonthName + shortMonthName + ( int month ) + + + toJulianDay + toJulianDay + () + + + toString + toString + ( const QString & format ) + + + toString + toString-2 + ( Qt::DateFormat format = Qt::TextDate ) + + + weekNumber + weekNumber + ( int * yearNumber = 0 ) + + + year + year + () + + + operator!= + operator-not-eq + ( const QDate & d ) + + + operator< + operator-lt + ( const QDate & d ) + + + operator<= + operator-lt-eq + ( const QDate & d ) + + + operator== + operator-eq-eq + ( const QDate & d ) + + + operator> + operator-gt + ( const QDate & d ) + + + operator>= + operator-gt-eq + ( const QDate & d ) + + + currentDate + currentDate-2 + ( Qt::TimeSpec spec ) + + + dayName + dayName + ( int weekday ) + + + leapYear + leapYear + ( int year ) + + + monthName + monthName + ( int month ) + + + + QDateEdit + qdateedit.html + + QDateEdit + QDateEdit + ( QWidget * parent = 0 ) + + + QDateEdit + QDateEdit-2 + ( const QDate & date, QWidget * parent = 0 ) + + + currentDateTime + currentDateTime-2 + ( Qt::TimeSpec spec ) + + + setTime_t + setTime_t-2 + ( uint secsSince1Jan1970UTC, Qt::TimeSpec spec ) + + + + QDateTime + qdatetime.html + + QDateTime + QDateTime + () + + + QDateTime + QDateTime-2 + ( const QDate & date ) + + + QDateTime + QDateTime-3 + ( const QDate & date, const QTime & time, Qt::TimeSpec spec = Qt::LocalTime ) + + + QDateTime + QDateTime-4 + ( const QDateTime & other ) + + + addDays + addDays + ( int ndays ) + + + addMSecs + addMSecs + ( qint64 msecs ) + + + addMonths + addMonths + ( int nmonths ) + + + addSecs + addSecs + ( int s ) + + + addYears + addYears + ( int nyears ) + + + currentDateTime + currentDateTime + () + + + date + date + () + + + daysTo + daysTo + ( const QDateTime & other ) + + + fromString + fromString + ( const QString & string, Qt::DateFormat format = Qt::TextDate ) + + + fromString + fromString-2 + ( const QString & string, const QString & format ) + + + fromTime_t + fromTime_t + ( uint seconds ) + + + isNull + isNull + () + + + isValid + isValid + () + + + secsTo + secsTo + ( const QDateTime & other ) + + + setDate + setDate + ( const QDate & date ) + + + setTime + setTime + ( const QTime & time ) + + + setTimeSpec + setTimeSpec + ( Qt::TimeSpec spec ) + + + setTime_t + setTime_t + ( uint seconds ) + + + time + time + () + + + TimeSpec + timeSpec + QDateTime::timeSpec() + + + toLocalTime + toLocalTime + () + + + toString + toString + ( const QString & format ) + + + toString + toString-2 + ( Qt::DateFormat format = Qt::TextDate ) + + + toTimeSpec + toTimeSpec + ( Qt::TimeSpec specification ) + + + toTime_t + toTime_t + () + + + toUTC + toUTC + () + + + operator!= + operator-not-eq + ( const QDateTime & other ) + + + operator< + operator-lt + ( const QDateTime & other ) + + + operator<= + operator-lt-eq + ( const QDateTime & other ) + + + operator= + operator-eq + ( const QDateTime & other ) + + + operator== + operator-eq-eq + ( const QDateTime & other ) + + + operator> + operator-gt + ( const QDateTime & other ) + + + operator>= + operator-gt-eq + ( const QDateTime & other ) + + + currentDateTime + currentDateTime-2 + ( Qt::TimeSpec spec ) + + + setTime_t + setTime_t-2 + ( uint secsSince1Jan1970UTC, Qt::TimeSpec spec ) + + + + QDateTimeEdit + qdatetimeedit.html + + QDateTimeEdit + QDateTimeEdit + ( QWidget * parent = 0 ) + + + QDateTimeEdit + QDateTimeEdit-2 + ( const QDateTime & datetime, QWidget * parent = 0 ) + + + QDateTimeEdit + QDateTimeEdit-3 + ( const QDate & date, QWidget * parent = 0 ) + + + QDateTimeEdit + QDateTimeEdit-4 + ( const QTime & time, QWidget * parent = 0 ) + + + dateChanged + dateChanged + ( const QDate & date ) + + + dateTimeChanged + dateTimeChanged + ( const QDateTime & datetime ) + + + dateTimeFromText + dateTimeFromText + ( const QString & text ) + + + initStyleOption + initStyleOption + ( QStyleOptionSpinBox * option ) + + + sectionAt + sectionAt + ( int index ) + + + sectionText + sectionText + ( Section section ) + + + setDateRange + setDateRange + ( const QDate & min, const QDate & max ) + + + setSelectedSection + setSelectedSection + ( Section section ) + + + setTimeRange + setTimeRange + ( const QTime & min, const QTime & max ) + + + textFromDateTime + textFromDateTime + ( const QDateTime & dateTime ) + + + timeChanged + timeChanged + ( const QTime & time ) + + + CallMode + CallMode-enum + + + + + QDBusAbstractAdaptor + qdbusabstractadaptor.html + + QDBusAbstractAdaptor + QDBusAbstractAdaptor + ( QObject * obj ) + + + autoRelaySignals + autoRelaySignals + () + + + setAutoRelaySignals + setAutoRelaySignals + ( bool enable ) + + + + QDBusAbstractInterface + qdbusabstractinterface.html + + call + call + ( const QString & method, const QVariant & arg1 = QVariant() + + + call + call-2 + ( QDBus::CallMode mode, const QString & method, const QVariant & arg1 = QVariant() + + + callWithArgumentList + callWithArgumentList + ( QDBus::CallMode mode, const QString & method, const QList<QVariant> & args ) + + + callWithCallback + callWithCallback + ( const QString & method, const QList<QVariant> & args, QObject * receiver, const char * returnMethod, const char * errorMethod ) + + + callWithCallback + callWithCallback-2 + ( const QString & method, const QList<QVariant> & args, QObject * receiver, const char * slot ) + + + connection + connection + () + + + interface + interface + () + + + isValid + isValid + () + + + lastError + lastError + () + + + path + path + () + + + service + service + () + + + + QDBusArgument + qdbusargument.html + + QDBusArgument + QDBusArgument + () + + + QDBusArgument + QDBusArgument-2 + ( const QDBusArgument & other ) + + + atEnd + atEnd + () + + + beginArray + beginArray + ( int id ) + + + beginArray + beginArray-2 + () + + + beginMap + beginMap + ( int kid, int vid ) + + + beginMap + beginMap-2 + () + + + beginMapEntry + beginMapEntry + () + + + beginMapEntry + beginMapEntry-2 + () + + + beginStructure + beginStructure + () + + + beginStructure + beginStructure-2 + () + + + endArray + endArray + () + + + endArray + endArray-2 + () + + + endMap + endMap + () + + + endMap + endMap-2 + () + + + endMapEntry + endMapEntry + () + + + endMapEntry + endMapEntry-2 + () + + + endStructure + endStructure + () + + + endStructure + endStructure-2 + () + + + operator<< + operator-lt-lt + ( uchar arg ) + + + operator<< + operator-lt-lt-2 + ( bool arg ) + + + operator<< + operator-lt-lt-3 + ( short arg ) + + + operator<< + operator-lt-lt-4 + ( ushort arg ) + + + operator<< + operator-lt-lt-5 + ( int arg ) + + + operator<< + operator-lt-lt-6 + ( uint arg ) + + + operator<< + operator-lt-lt-7 + ( qlonglong arg ) + + + operator<< + operator-lt-lt-8 + ( qulonglong arg ) + + + operator<< + operator-lt-lt-9 + ( double arg ) + + + operator<< + operator-lt-lt-10 + ( const QString & arg ) + + + operator<< + operator-lt-lt-13 + ( const QDBusVariant & arg ) + + + operator<< + operator-lt-lt-14 + ( const QStringList & arg ) + + + operator<< + operator-lt-lt-15 + ( const QByteArray & arg ) + + + operator= + operator-eq + ( const QDBusArgument & other ) + + + operator>> + operator-gt-gt + ( uchar & arg ) + + + operator>> + operator-gt-gt-2 + ( bool & arg ) + + + operator>> + operator-gt-gt-3 + ( ushort & arg ) + + + operator>> + operator-gt-gt-4 + ( short & arg ) + + + operator>> + operator-gt-gt-5 + ( int & arg ) + + + operator>> + operator-gt-gt-6 + ( uint & arg ) + + + operator>> + operator-gt-gt-7 + ( qlonglong & arg ) + + + operator>> + operator-gt-gt-8 + ( qulonglong & arg ) + + + operator>> + operator-gt-gt-9 + ( double & arg ) + + + operator>> + operator-gt-gt-10 + ( QString & arg ) + + + operator>> + operator-gt-gt-13 + ( QDBusVariant & arg ) + + + operator>> + operator-gt-gt-14 + ( QStringList & arg ) + + + operator>> + operator-gt-gt-15 + ( QByteArray & arg ) + + + + QDBusConnection + qdbusconnection.html + + BusType + BusType-enum + + + + UnregisterMode + UnregisterMode-enum + + + + QDBusConnection + QDBusConnection + ( const QString & name ) + + + QDBusConnection + QDBusConnection-2 + ( const QDBusConnection & other ) + + + baseService + baseService + () + + + call + call + ( const QDBusMessage & message, QDBus::CallMode mode = QDBus::Block, int timeout = -1 ) + + + callWithCallback + callWithCallback + ( const QDBusMessage & message, QObject * receiver, const char * returnMethod, const char * errorMethod, int timeout = -1 ) + + + callWithCallback + callWithCallback-2 + ( const QDBusMessage & message, QObject * receiver, const char * returnMethod, int timeout = -1 ) + + + connect + connect + ( const QString & service, const QString & path, const QString & interface, const QString & name, QObject * receiver, const char * slot ) + + + connect + connect-2 + ( const QString & service, const QString & path, const QString & interface, const QString & name, const QString & signature, QObject * receiver, const char * slot ) + + + connectToBus + connectToBus + ( BusType type, const QString & name ) + + + connectToBus + connectToBus-2 + ( const QString & address, const QString & name ) + + + disconnect + disconnect + ( const QString & service, const QString & path, const QString & interface, const QString & name, QObject * receiver, const char * slot ) + + + disconnect + disconnect-2 + ( const QString & service, const QString & path, const QString & interface, const QString & name, const QString & signature, QObject * receiver, const char * slot ) + + + disconnectFromBus + disconnectFromBus + ( const QString & name ) + + + interface + interface + () + + + isConnected + isConnected + () + + + lastError + lastError + () + + + objectRegisteredAt + objectRegisteredAt + ( const QString & path ) + + + registerObject + registerObject + ( const QString & path, QObject * object, RegisterOptions options = ExportAdaptors ) + + + registerService + registerService + ( const QString & serviceName ) + + + send + send + ( const QDBusMessage & message ) + + + sender + sender + () + + + sessionBus + sessionBus + () + + + systemBus + systemBus + () + + + unregisterObject + unregisterObject + ( const QString & path, UnregisterMode mode = UnregisterNode ) + + + unregisterService + unregisterService + ( const QString & serviceName ) + + + operator= + operator-eq + ( const QDBusConnection & other ) + + + sessionBus + sessionBus + () + + + systemBus + systemBus + () + + + + QDBusConnectionInterface + qdbusconnectioninterface.html + + RegisterServiceReply + RegisterServiceReply-enum + + + + ServiceQueueOptions + ServiceQueueOptions-enum + + + + ServiceReplacementOptions + ServiceReplacementOptions-enum + + + + callWithCallbackFailed + callWithCallbackFailed + ( const QDBusError & error, const QDBusMessage & call ) + + + isServiceRegistered + isServiceRegistered + ( const QString & serviceName ) + + + RegisterServiceReply + registerService + > QDBusConnectionInterface::registerService( const QString & serviceName, ServiceQueueOptions qoption = DontQueueService, ServiceReplacementOptions roption = DontAllowReplacement ) + + + serviceOwner + serviceOwner + ( const QString & name ) + + + serviceOwnerChanged + serviceOwnerChanged + ( const QString & name, const QString & oldOwner, const QString & newOwner ) + + + servicePid + servicePid + ( const QString & serviceName ) + + + serviceRegistered + serviceRegistered + ( const QString & serviceName ) + + + serviceUid + serviceUid + ( const QString & serviceName ) + + + serviceUnregistered + serviceUnregistered + ( const QString & serviceName ) + + + startService + startService + ( const QString & name ) + + + unregisterService + unregisterService + ( const QString & serviceName ) + + + + QDBusContext + qdbuscontext.html + + QDBusContext + QDBusContext + () + + + calledFromDBus + calledFromDBus + () + + + connection + connection + () + + + isDelayedReply + isDelayedReply + () + + + message + message + () + + + sendErrorReply + sendErrorReply + ( const QString & name, const QString & msg = QString() + + + sendErrorReply + sendErrorReply-2 + ( QDBusError::ErrorType type, const QString & msg = QString() + + + setDelayedReply + setDelayedReply + ( bool enable ) + + + + QDBusError + qdbuserror.html + + ErrorType + ErrorType-enum + + + + errorString + errorString + ( ErrorType error ) + + + isValid + isValid + () + + + message + message + () + + + name + name + () + + + type + type + () + + + + QDBusInterface + qdbusinterface.html + + QDBusInterface + QDBusInterface + ( const QString & service, const QString & path, const QString & interface = QString() + + + + QDBusMessage + qdbusmessage.html + + MessageType + MessageType-enum + + + + QDBusMessage + QDBusMessage + () + + + QDBusMessage + QDBusMessage-2 + ( const QDBusMessage & other ) + + + arguments + arguments + () + + + createError + createError + ( const QString & name, const QString & msg ) + + + createError + createError-2 + ( const QDBusError & error ) + + + createError + createError-3 + ( QDBusError::ErrorType type, const QString & msg ) + + + createErrorReply + createErrorReply + ( const QString name, const QString & msg ) + + + createErrorReply + createErrorReply-2 + ( const QDBusError & error ) + + + createErrorReply + createErrorReply-3 + ( QDBusError::ErrorType type, const QString & msg ) + + + createMethodCall + createMethodCall + ( const QString & service, const QString & path, const QString & interface, const QString & method ) + + + createReply + createReply + ( const QList<QVariant> & arguments = QList<QVariant>() + + + createReply + createReply-2 + ( const QVariant & argument ) + + + createSignal + createSignal + ( const QString & path, const QString & interface, const QString & name ) + + + errorMessage + errorMessage + () + + + errorName + errorName + () + + + interface + interface + () + + + isDelayedReply + isDelayedReply + () + + + isReplyRequired + isReplyRequired + () + + + member + member + () + + + path + path + () + + + service + service + () + + + setArguments + setArguments + ( const QList<QVariant> & arguments ) + + + setDelayedReply + setDelayedReply + ( bool enable ) + + + signature + signature + () + + + type + type + () + + + operator<< + operator-lt-lt + ( const QVariant & arg ) + + + operator= + operator-eq + ( const QDBusMessage & other ) + + + + QDBusObjectPath + qdbusobjectpath.html + + QDBusObjectPath + QDBusObjectPath + () + + + QDBusObjectPath + QDBusObjectPath-2 + ( const char * path ) + + + QDBusObjectPath + QDBusObjectPath-3 + ( const QLatin1String & path ) + + + QDBusObjectPath + QDBusObjectPath-4 + ( const QString & path ) + + + path + path + () + + + setPath + setPath + ( const QString & path ) + + + + QDBusReply + qdbusreply.html + + QDBusReply + QDBusReply + ( const QDBusMessage & reply ) + + + QDBusReply + QDBusReply-2 + ( const QDBusError & error = QDBusError() + + + error + error + () + + + isValid + isValid + () + + + value + value + () + + + operator + operator-Type + Type() + + + operator= + operator-eq + ( const QDBusMessage & message ) + + + operator= + operator-eq-2 + ( const QDBusError & error ) + + + operator= + operator-eq-3 + ( const QDBusReply & other ) + + + + QDBusServer + qdbusserver.html + + QDBusServer + QDBusServer + ( const QString & address, QObject * parent = 0 ) + + + address + address + () + + + isConnected + isConnected + () + + + lastError + lastError + () + + + newConnection + newConnection + ( const QDBusConnection & connection ) + + + + QDBusSignature + qdbussignature.html + + QDBusSignature + QDBusSignature + () + + + QDBusSignature + QDBusSignature-2 + ( const char * signature ) + + + QDBusSignature + QDBusSignature-3 + ( const QLatin1String & signature ) + + + QDBusSignature + QDBusSignature-4 + ( const QString & signature ) + + + setSignature + setSignature + ( const QString & signature ) + + + signature + signature + () + + + + QDBusVariant + qdbusvariant.html + + QDBusVariant + QDBusVariant + () + + + QDBusVariant + QDBusVariant-2 + ( const QVariant & variant ) + + + setVariant + setVariant + ( const QVariant & variant ) + + + variant + variant + () + + + + QDecoration + qdecoration.html + + DecorationRegion + DecorationRegion-enum + + + + DecorationState + DecorationState-enum + + + + QDecoration + QDecoration + () + + + buildSysMenu + buildSysMenu + ( QWidget * widget, QMenu * menu ) + + + menuTriggered + menuTriggered + ( QWidget * widget, QAction * action ) + + + paint + paint + ( QPainter * painter, const QWidget * widget, int decorationRegion = All, DecorationState state = Normal ) + + + region + region + ( const QWidget * widget, const QRect & rectangle, int decorationRegion = All ) + + + region + region-2 + ( const QWidget * widget, int decorationRegion = All ) + + + regionAt + regionAt + ( const QWidget * widget, const QPoint & point ) + + + regionClicked + regionClicked + ( QWidget * widget, int region ) + + + regionDoubleClicked + regionDoubleClicked + ( QWidget * widget, int region ) + + + startMove + startMove + ( QWidget * widget ) + + + startResize + startResize + ( QWidget * widget ) + + + + QDecorationFactory + qdecorationfactory.html + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QDecorationPlugin + qdecorationplugin.html + + QDecorationPlugin + QDecorationPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QDesignerActionEditorInterface + qdesigneractioneditorinterface.html + + QDesignerActionEditorInterface + QDesignerActionEditorInterface + ( QWidget * parent, Qt::WindowFlags flags = 0 ) + + + core + core + () + + + manageAction + manageAction + ( QAction * action ) + + + setFormWindow + setFormWindow + ( QDesignerFormWindowInterface * formWindow ) + + + unmanageAction + unmanageAction + ( QAction * action ) + + + + QDesignerContainerExtension + qdesignercontainerextension.html + + addWidget + addWidget + ( QWidget * page ) + + + count + count + () + + + currentIndex + currentIndex + () + + + insertWidget + insertWidget + ( int index, QWidget * page ) + + + remove + remove + ( int index ) + + + setCurrentIndex + setCurrentIndex + ( int index ) + + + widget + widget + ( int index ) + + + + QDesignerCustomWidgetCollectionInterface + qdesignercustomwidgetcollectioninterface.html + + customWidgets + customWidgets + () + + + + QDesignerCustomWidgetInterface + qdesignercustomwidgetinterface.html + + codeTemplate + codeTemplate + () + + + createWidget + createWidget + ( QWidget * parent ) + + + domXml + domXml + () + + + group + group + () + + + icon + icon + () + + + includeFile + includeFile + () + + + initialize + initialize + ( QDesignerFormEditorInterface * formEditor ) + + + isContainer + isContainer + () + + + isInitialized + isInitialized + () + + + name + name + () + + + toolTip + toolTip + () + + + whatsThis + whatsThis + () + + + + QDesignerDynamicPropertySheetExtension + qdesignerdynamicpropertysheetextension.html + + addDynamicProperty + addDynamicProperty + ( const QString & propertyName, const QVariant & value ) + + + canAddDynamicProperty + canAddDynamicProperty + ( const QString & propertyName ) + + + dynamicPropertiesAllowed + dynamicPropertiesAllowed + () + + + isDynamicProperty + isDynamicProperty + ( int index ) + + + removeDynamicProperty + removeDynamicProperty + ( int index ) + + + + QDesignerFormEditorInterface + qdesignerformeditorinterface.html + + QDesignerFormEditorInterface + QDesignerFormEditorInterface + ( QObject * parent = 0 ) + + + actionEditor + actionEditor + () + + + extensionManager + extensionManager + () + + + formWindowManager + formWindowManager + () + + + objectInspector + objectInspector + () + + + propertyEditor + propertyEditor + () + + + setActionEditor + setActionEditor + ( QDesignerActionEditorInterface * actionEditor ) + + + setObjectInspector + setObjectInspector + ( QDesignerObjectInspectorInterface * objectInspector ) + + + setPropertyEditor + setPropertyEditor + ( QDesignerPropertyEditorInterface * propertyEditor ) + + + setWidgetBox + setWidgetBox + ( QDesignerWidgetBoxInterface * widgetBox ) + + + topLevel + topLevel + () + + + widgetBox + widgetBox + () + + + + QDesignerFormWindowCursorInterface + qdesignerformwindowcursorinterface.html + + MoveMode + MoveMode-enum + + + + MoveOperation + MoveOperation-enum + + + + current + current + () + + + formWindow + formWindow + () + + + hasSelection + hasSelection + () + + + isWidgetSelected + isWidgetSelected + ( QWidget * widget ) + + + movePosition + movePosition + ( MoveOperation operation, MoveMode mode = MoveAnchor ) + + + position + position + () + + + resetWidgetProperty + resetWidgetProperty + ( QWidget * widget, const QString & name ) + + + selectedWidget + selectedWidget + ( int index ) + + + selectedWidgetCount + selectedWidgetCount + () + + + setPosition + setPosition + ( int position, MoveMode mode = MoveAnchor ) + + + setProperty + setProperty + ( const QString & name, const QVariant & value ) + + + setWidgetProperty + setWidgetProperty + ( QWidget * widget, const QString & name, const QVariant & value ) + + + widget + widget + ( int index ) + + + widgetCount + widgetCount + () + + + + QDesignerFormWindowInterface + qdesignerformwindowinterface.html + + QDesignerFormWindowInterface + QDesignerFormWindowInterface + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + aboutToUnmanageWidget + aboutToUnmanageWidget + ( QWidget * widget ) + + + absoluteDir + absoluteDir + () + + + activated + activated + ( QWidget * widget ) + + + addResourceFile + addResourceFile + ( const QString & path ) + + + author + author + () + + + changed + changed + () + + + clearSelection + clearSelection + ( bool update = true ) + + + comment + comment + () + + + contents + contents + () + + + core + core + () + + + cursor + cursor + () + + + emitSelectionChanged + emitSelectionChanged + () + + + exportMacro + exportMacro + () + + + featureChanged + featureChanged + ( Feature feature ) + + + features + features + () + + + fileName + fileName + () + + + fileNameChanged + fileNameChanged + ( const QString & fileName ) + + + findFormWindow + findFormWindow + ( QWidget * widget ) + + + geometryChanged + geometryChanged + () + + + grid + grid + () + + + hasFeature + hasFeature + ( Feature feature ) + + + includeHints + includeHints + () + + + isDirty + isDirty + () + + + isManaged + isManaged + ( QWidget * widget ) + + + layoutDefault + layoutDefault + ( int * margin, int * spacing ) + + + layoutFunction + layoutFunction + ( QString * margin, QString * spacing ) + + + mainContainer + mainContainer + () + + + mainContainerChanged + mainContainerChanged + ( QWidget * mainContainer ) + + + manageWidget + manageWidget + ( QWidget * widget ) + + + pixmapFunction + pixmapFunction + () + + + removeResourceFile + removeResourceFile + ( const QString & path ) + + + resourceFiles + resourceFiles + () + + + resourceFilesChanged + resourceFilesChanged + () + + + selectWidget + selectWidget + ( QWidget * widget, bool select = true ) + + + selectionChanged + selectionChanged + () + + + setAuthor + setAuthor + ( const QString & author ) + + + setComment + setComment + ( const QString & comment ) + + + setContents + setContents + ( QIODevice * device ) + + + setContents + setContents-2 + ( const QString & contents ) + + + setDirty + setDirty + ( bool dirty ) + + + setExportMacro + setExportMacro + ( const QString & exportMacro ) + + + setFeatures + setFeatures + ( Feature features ) + + + setFileName + setFileName + ( const QString & fileName ) + + + setGrid + setGrid + ( const QPoint & grid ) + + + setIncludeHints + setIncludeHints + ( const QStringList & includeHints ) + + + setLayoutDefault + setLayoutDefault + ( int margin, int spacing ) + + + setLayoutFunction + setLayoutFunction + ( const QString & margin, const QString & spacing ) + + + setMainContainer + setMainContainer + ( QWidget * mainContainer ) + + + setPixmapFunction + setPixmapFunction + ( const QString & pixmapFunction ) + + + unmanageWidget + unmanageWidget + ( QWidget * widget ) + + + widgetManaged + widgetManaged + ( QWidget * widget ) + + + widgetRemoved + widgetRemoved + ( QWidget * widget ) + + + widgetUnmanaged + widgetUnmanaged + ( QWidget * widget ) + + + + QDesignerFormWindowManagerInterface + qdesignerformwindowmanagerinterface.html + + QDesignerFormWindowManagerInterface + QDesignerFormWindowManagerInterface + ( QObject * parent = 0 ) + + + actionAdjustSize + actionAdjustSize + () + + + actionBreakLayout + actionBreakLayout + () + + + actionCopy + actionCopy + () + + + actionCut + actionCut + () + + + actionDelete + actionDelete + () + + + actionGridLayout + actionGridLayout + () + + + actionHorizontalLayout + actionHorizontalLayout + () + + + actionLower + actionLower + () + + + actionPaste + actionPaste + () + + + actionRaise + actionRaise + () + + + actionRedo + actionRedo + () + + + actionSelectAll + actionSelectAll + () + + + actionSplitHorizontal + actionSplitHorizontal + () + + + actionSplitVertical + actionSplitVertical + () + + + actionUndo + actionUndo + () + + + actionVerticalLayout + actionVerticalLayout + () + + + activeFormWindow + activeFormWindow + () + + + activeFormWindowChanged + activeFormWindowChanged + ( QDesignerFormWindowInterface * formWindow ) + + + addFormWindow + addFormWindow + ( QDesignerFormWindowInterface * formWindow ) + + + core + core + () + + + createFormWindow + createFormWindow + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + formWindow + formWindow + ( int index ) + + + formWindowAdded + formWindowAdded + ( QDesignerFormWindowInterface * formWindow ) + + + formWindowCount + formWindowCount + () + + + formWindowRemoved + formWindowRemoved + ( QDesignerFormWindowInterface * formWindow ) + + + removeFormWindow + removeFormWindow + ( QDesignerFormWindowInterface * formWindow ) + + + setActiveFormWindow + setActiveFormWindow + ( QDesignerFormWindowInterface * formWindow ) + + + + QDesignerMemberSheetExtension + qdesignermembersheetextension.html + + count + count + () + + + declaredInClass + declaredInClass + ( int index ) + + + indexOf + indexOf + ( const QString & name ) + + + inheritedFromWidget + inheritedFromWidget + ( int index ) + + + isSignal + isSignal + ( int index ) + + + isSlot + isSlot + ( int index ) + + + isVisible + isVisible + ( int index ) + + + memberGroup + memberGroup + ( int index ) + + + memberName + memberName + ( int index ) + + + parameterNames + parameterNames + ( int index ) + + + parameterTypes + parameterTypes + ( int index ) + + + setMemberGroup + setMemberGroup + ( int index, const QString & group ) + + + setVisible + setVisible + ( int index, bool visible ) + + + signature + signature + ( int index ) + + + + QDesignerObjectInspectorInterface + qdesignerobjectinspectorinterface.html + + QDesignerObjectInspectorInterface + QDesignerObjectInspectorInterface + ( QWidget * parent, Qt::WindowFlags flags = 0 ) + + + core + core + () + + + setFormWindow + setFormWindow + ( QDesignerFormWindowInterface * formWindow ) + + + + QDesignerPropertyEditorInterface + qdesignerpropertyeditorinterface.html + + QDesignerPropertyEditorInterface + QDesignerPropertyEditorInterface + ( QWidget * parent, Qt::WindowFlags flags = 0 ) + + + core + core + () + + + currentPropertyName + currentPropertyName + () + + + isReadOnly + isReadOnly + () + + + object + object + () + + + propertyChanged + propertyChanged + ( const QString & name, const QVariant & value ) + + + setObject + setObject + ( QObject * object ) + + + setPropertyValue + setPropertyValue + ( const QString & name, const QVariant & value, bool changed = true ) + + + setReadOnly + setReadOnly + ( bool readOnly ) + + + + QDesignerPropertySheetExtension + qdesignerpropertysheetextension.html + + count + count + () + + + hasReset + hasReset + ( int index ) + + + indexOf + indexOf + ( const QString & name ) + + + isAttribute + isAttribute + ( int index ) + + + isChanged + isChanged + ( int index ) + + + isVisible + isVisible + ( int index ) + + + property + property + ( int index ) + + + propertyGroup + propertyGroup + ( int index ) + + + propertyName + propertyName + ( int index ) + + + reset + reset + ( int index ) + + + setAttribute + setAttribute + ( int index, bool attribute ) + + + setChanged + setChanged + ( int index, bool changed ) + + + setProperty + setProperty + ( int index, const QVariant & value ) + + + setPropertyGroup + setPropertyGroup + ( int index, const QString & group ) + + + setVisible + setVisible + ( int index, bool visible ) + + + + QDesignerTaskMenuExtension + qdesignertaskmenuextension.html + + preferredEditAction + preferredEditAction + () + + + taskActions + taskActions + () + + + + QDesignerWidgetBoxInterface + qdesignerwidgetboxinterface.html + + QDesignerWidgetBoxInterface + QDesignerWidgetBoxInterface + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + fileName + fileName + () + + + load + load + () + + + save + save + () + + + setFileName + setFileName + ( const QString & fileName ) + + + + QDesktopServices + qdesktopservices.html + + openUrl + openUrl + ( const QUrl & url ) + + + setUrlHandler + setUrlHandler + ( const QString & scheme, QObject * receiver, const char * method ) + + + unsetUrlHandler + unsetUrlHandler + ( const QString & scheme ) + + + + QDesktopWidget + qdesktopwidget.html + + QDesktopWidget + QDesktopWidget + () + + + availableGeometry + availableGeometry + ( int screen = -1 ) + + + availableGeometry + availableGeometry-2 + ( const QWidget * widget ) + + + availableGeometry + availableGeometry-3 + ( const QPoint & p ) + + + isVirtualDesktop + isVirtualDesktop + () + + + numScreens + numScreens + () + + + primaryScreen + primaryScreen + () + + + resized + resized + ( int screen ) + + + screen + screen + ( int screen = -1 ) + + + screenGeometry + screenGeometry + ( int screen = -1 ) + + + screenGeometry + screenGeometry-2 + ( const QWidget * widget ) + + + screenGeometry + screenGeometry-3 + ( const QPoint & p ) + + + screenNumber + screenNumber + ( const QWidget * widget = 0 ) + + + screenNumber + screenNumber-2 + ( const QPoint & point ) + + + workAreaResized + workAreaResized + ( int screen ) + + + QDial + QDial-2 + ( int minValue, int maxValue, int pageStep, int value, QWidget * parent = 0, const char * name = 0 ) + + + QDial + QDial-3 + ( QWidget * parent, const char * name ) + + + dialMoved + dialMoved + ( int value ) + + + dialPressed + dialPressed + () + + + dialReleased + dialReleased + () + + + + QDial + qdial.html + + QDial + QDial + ( QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionSlider * option ) + + + QDial + QDial-2 + ( int minValue, int maxValue, int pageStep, int value, QWidget * parent = 0, const char * name = 0 ) + + + QDial + QDial-3 + ( QWidget * parent, const char * name ) + + + dialMoved + dialMoved + ( int value ) + + + dialPressed + dialPressed + () + + + dialReleased + dialReleased + () + + + extension + extension + () + + + Orientation + orientation + QDialog::orientation() + + + setExtension + setExtension + ( QWidget * extension ) + + + setOrientation + setOrientation + ( Qt::Orientation orientation ) + + + showExtension + showExtension + ( bool showIt ) + + + QDialog + QDialog-2 + ( QWidget * parent, const char * name, bool modal = false, Qt::WindowFlags f = 0 ) + + + + QDialog + qdialog.html + + DialogCode + DialogCode-enum + + + + QDialog + QDialog + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + accept + accept + () + + + accepted + accepted + () + + + done + done + ( int r ) + + + exec + exec + () + + + finished + finished + ( int result ) + + + reject + reject + () + + + rejected + rejected + () + + + result + result + () + + + setResult + setResult + ( int i ) + + + QDialog + QDialog-2 + ( QWidget * parent, const char * name, bool modal = false, Qt::WindowFlags f = 0 ) + + + + QDialogButtonBox + qdialogbuttonbox.html + + ButtonLayout + ButtonLayout-enum + + + + ButtonRole + ButtonRole-enum + + + + Orientation + orientation-prop + + + + QDialogButtonBox + QDialogButtonBox + ( QWidget * parent = 0 ) + + + QDialogButtonBox + QDialogButtonBox-2 + ( Qt::Orientation orientation, QWidget * parent = 0 ) + + + QDialogButtonBox + QDialogButtonBox-3 + ( StandardButtons buttons, Qt::Orientation orientation = Qt::Horizontal, QWidget * parent = 0 ) + + + accepted + accepted + () + + + addButton + addButton + ( QAbstractButton * button, ButtonRole role ) + + + addButton + addButton-2 + ( const QString & text, ButtonRole role ) + + + addButton + addButton-3 + ( StandardButton button ) + + + button + button + ( StandardButton which ) + + + buttonRole + buttonRole + ( QAbstractButton * button ) + + + buttons + buttons + () + + + clear + clear + () + + + clicked + clicked + ( QAbstractButton * button ) + + + helpRequested + helpRequested + () + + + rejected + rejected + () + + + removeButton + removeButton + ( QAbstractButton * button ) + + + standardButton + standardButton + ( QAbstractButton * button ) + + + addResourceSearchPath + addResourceSearchPath + ( const QString & path ) + + + operator= + operator-eq-2 + ( const QString & path ) + + + absFilePath + absFilePath + ( const QString & fileName, bool acceptAbsPath = true ) + + + absPath + absPath + () + + + cleanDirPath + cleanDirPath + ( const QString & name ) + + + convertToAbs + convertToAbs + () + + + currentDirPath + currentDirPath + () + + + entryInfoList + entryInfoList-3 + ( const QString & nameFilter, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + entryList + entryList-3 + ( const QString & nameFilter, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + homeDirPath + homeDirPath + () + + + matchAllDirs + matchAllDirs + () + + + mkdir + mkdir-2 + ( const QString & dirName, bool acceptAbsPath ) + + + nameFilter + nameFilter + () + + + rmdir + rmdir-2 + ( const QString & dirName, bool acceptAbsPath ) + + + rootDirPath + rootDirPath + () + + + setMatchAllDirs + setMatchAllDirs + ( bool on ) + + + setNameFilter + setNameFilter + ( const QString & nameFilter ) + + + + QDir + qdir.html + + FilterSpec + FilterSpec-typedef + + + + SortSpec + SortSpec-typedef + + + + QDir + QDir + ( const QDir & dir ) + + + QDir + QDir-2 + ( const QString & path = QString() + + + QDir + QDir-3 + ( const QString & path, const QString & nameFilter, SortFlags sort = SortFlags( Name | IgnoreCase ) + + + absoluteFilePath + absoluteFilePath + ( const QString & fileName ) + + + absolutePath + absolutePath + () + + + addSearchPath + addSearchPath + ( const QString & prefix, const QString & path ) + + + canonicalPath + canonicalPath + () + + + cd + cd + ( const QString & dirName ) + + + cdUp + cdUp + () + + + cleanPath + cleanPath + ( const QString & path ) + + + count + count + () + + + current + current + () + + + currentPath + currentPath + () + + + dirName + dirName + () + + + drives + drives + () + + + entryInfoList + entryInfoList + ( const QStringList & nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + entryInfoList + entryInfoList-2 + ( Filters filters = NoFilter, SortFlags sort = NoSort ) + + + entryList + entryList + ( const QStringList & nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + entryList + entryList-2 + ( Filters filters = NoFilter, SortFlags sort = NoSort ) + + + exists + exists + ( const QString & name ) + + + exists + exists-2 + () + + + filePath + filePath + ( const QString & fileName ) + + + filter + filter + () + + + fromNativeSeparators + fromNativeSeparators + ( const QString & pathName ) + + + home + home + () + + + homePath + homePath + () + + + isAbsolute + isAbsolute + () + + + isAbsolutePath + isAbsolutePath + ( const QString & path ) + + + isReadable + isReadable + () + + + isRelative + isRelative + () + + + isRelativePath + isRelativePath + ( const QString & path ) + + + isRoot + isRoot + () + + + makeAbsolute + makeAbsolute + () + + + match + match + ( const QString & filter, const QString & fileName ) + + + match + match-2 + ( const QStringList & filters, const QString & fileName ) + + + mkdir + mkdir + ( const QString & dirName ) + + + mkpath + mkpath + ( const QString & dirPath ) + + + nameFilters + nameFilters + () + + + path + path + () + + + refresh + refresh + () + + + relativeFilePath + relativeFilePath + ( const QString & fileName ) + + + remove + remove + ( const QString & fileName ) + + + rename + rename + ( const QString & oldName, const QString & newName ) + + + rmdir + rmdir + ( const QString & dirName ) + + + rmpath + rmpath + ( const QString & dirPath ) + + + root + root + () + + + rootPath + rootPath + () + + + searchPaths + searchPaths + ( const QString & prefix ) + + + separator + separator + () + + + setCurrent + setCurrent + ( const QString & path ) + + + setFilter + setFilter + ( Filters filters ) + + + setNameFilters + setNameFilters + ( const QStringList & nameFilters ) + + + setPath + setPath + ( const QString & path ) + + + setSearchPaths + setSearchPaths + ( const QString & prefix, const QStringList & searchPaths ) + + + setSorting + setSorting + ( SortFlags sort ) + + + sorting + sorting + () + + + temp + temp + () + + + tempPath + tempPath + () + + + toNativeSeparators + toNativeSeparators + ( const QString & pathName ) + + + operator!= + operator-not-eq + ( const QDir & dir ) + + + operator= + operator-eq + ( const QDir & dir ) + + + operator== + operator-eq-eq + ( const QDir & dir ) + + + operator[] + operator-5b-5d + ( int pos ) + + + absFilePath + absFilePath + ( const QString & fileName, bool acceptAbsPath = true ) + + + absPath + absPath + () + + + cleanDirPath + cleanDirPath + ( const QString & name ) + + + convertToAbs + convertToAbs + () + + + currentDirPath + currentDirPath + () + + + entryInfoList + entryInfoList-3 + ( const QString & nameFilter, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + entryList + entryList-3 + ( const QString & nameFilter, Filters filters = NoFilter, SortFlags sort = NoSort ) + + + homeDirPath + homeDirPath + () + + + matchAllDirs + matchAllDirs + () + + + mkdir + mkdir-2 + ( const QString & dirName, bool acceptAbsPath ) + + + nameFilter + nameFilter + () + + + rmdir + rmdir-2 + ( const QString & dirName, bool acceptAbsPath ) + + + rootDirPath + rootDirPath + () + + + setMatchAllDirs + setMatchAllDirs + ( bool on ) + + + setNameFilter + setNameFilter + ( const QString & nameFilter ) + + + region + region + () + + + reserveRegion + reserveRegion + ( const QRegion & region ) + + + reservedRegion + reservedRegion + () + + + + QDirectPainter + qdirectpainter.html + + SurfaceFlag + SurfaceFlag-enum + + + + QDirectPainter + QDirectPainter + ( QObject * parent = 0, SurfaceFlag flag = NonReserved ) + + + allocatedRegion + allocatedRegion + () + + + endPainting + endPainting + () + + + endPainting + endPainting-2 + ( const QRegion & region ) + + + flush + flush + ( const QRegion & region ) + + + frameBuffer + frameBuffer + () + + + geometry + geometry + () + + + linestep + linestep + () + + + lock + lock + () + + + lower + lower + () + + + raise + raise + () + + + regionChanged + regionChanged + ( const QRegion & newRegion ) + + + requestedRegion + requestedRegion + () + + + screenDepth + screenDepth + () + + + screenHeight + screenHeight + () + + + screenWidth + screenWidth + () + + + setGeometry + setGeometry + ( const QRect & rectangle ) + + + setRegion + setRegion + ( const QRegion & region ) + + + startPainting + startPainting + ( bool lockDisplay = false ) + + + unlock + unlock + () + + + winId + winId + () + + + + QDirIterator + qdiriterator.html + + QDirIterator + QDirIterator + ( const QDir & dir, IteratorFlags flags = NoIteratorFlags ) + + + QDirIterator + QDirIterator-2 + ( const QString & path, IteratorFlags flags = NoIteratorFlags ) + + + QDirIterator + QDirIterator-3 + ( const QString & path, QDir::Filters filters, IteratorFlags flags = NoIteratorFlags ) + + + QDirIterator + QDirIterator-4 + ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags ) + + + fileInfo + fileInfo + () + + + fileName + fileName + () + + + filePath + filePath + () + + + hasNext + hasNext + () + + + next + next + () + + + path + path + () + + + + QDirModel + qdirmodel.html + + Roles + Roles-enum + + + + QDirModel + QDirModel + ( const QStringList & nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject * parent = 0 ) + + + QDirModel + QDirModel-2 + ( QObject * parent = 0 ) + + + columnCount + columnCount + ( const QModelIndex & parent = QModelIndex() + + + data + data + ( const QModelIndex & index, int role = Qt::DisplayRole ) + + + dropMimeData + dropMimeData + ( const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent ) + + + fileIcon + fileIcon + ( const QModelIndex & index ) + + + fileInfo + fileInfo + ( const QModelIndex & index ) + + + fileName + fileName + ( const QModelIndex & index ) + + + filePath + filePath + ( const QModelIndex & index ) + + + Filters + filter + QDirModel::filter() + + + ItemFlags + flags + QDirModel::flags( const QModelIndex & index ) + + + hasChildren + hasChildren + ( const QModelIndex & parent = QModelIndex() + + + headerData + headerData + ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) + + + iconProvider + iconProvider + () + + + index + index + ( int row, int column, const QModelIndex & parent = QModelIndex() + + + index + index-2 + ( const QString & path, int column = 0 ) + + + isDir + isDir + ( const QModelIndex & index ) + + + mimeData + mimeData + ( const QModelIndexList & indexes ) + + + mimeTypes + mimeTypes + () + + + mkdir + mkdir + ( const QModelIndex & parent, const QString & name ) + + + nameFilters + nameFilters + () + + + parent + parent + ( const QModelIndex & child ) + + + refresh + refresh + ( const QModelIndex & parent = QModelIndex() + + + remove + remove + ( const QModelIndex & index ) + + + rmdir + rmdir + ( const QModelIndex & index ) + + + rowCount + rowCount + ( const QModelIndex & parent = QModelIndex() + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) + + + setFilter + setFilter + ( QDir::Filters filters ) + + + setIconProvider + setIconProvider + ( QFileIconProvider * provider ) + + + setNameFilters + setNameFilters + ( const QStringList & filters ) + + + setSorting + setSorting + ( QDir::SortFlags sort ) + + + sort + sort + ( int column, Qt::SortOrder order = Qt::AscendingOrder ) + + + SortFlags + sorting + QDirModel::sorting() + + + DropActions + supportedDropActions + QDirModel::supportedDropActions() + + + + QDockWidget + qdockwidget.html + + DockWidgetAreas + allowedAreas-prop + + + + QDockWidget + QDockWidget + ( const QString & title, QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + QDockWidget + QDockWidget-2 + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + allowedAreasChanged + allowedAreasChanged + ( Qt::DockWidgetAreas allowedAreas ) + + + dockLocationChanged + dockLocationChanged + ( Qt::DockWidgetArea area ) + + + featuresChanged + featuresChanged + ( QDockWidget::DockWidgetFeatures features ) + + + initStyleOption + initStyleOption + ( QStyleOptionDockWidget * option ) + + + isAreaAllowed + isAreaAllowed + ( Qt::DockWidgetArea area ) + + + setTitleBarWidget + setTitleBarWidget + ( QWidget * widget ) + + + setWidget + setWidget + ( QWidget * widget ) + + + titleBarWidget + titleBarWidget + () + + + toggleViewAction + toggleViewAction + () + + + topLevelChanged + topLevelChanged + ( bool topLevel ) + + + visibilityChanged + visibilityChanged + ( bool visible ) + + + widget + widget + () + + + + QDomAttr + qdomattr.html + + QDomAttr + QDomAttr + () + + + QDomAttr + QDomAttr-2 + ( const QDomAttr & x ) + + + name + name + () + + + NodeType + nodeType + QDomAttr::nodeType() + + + ownerElement + ownerElement + () + + + setValue + setValue + ( const QString & v ) + + + specified + specified + () + + + value + value + () + + + operator= + operator-eq + ( const QDomAttr & x ) + + + + QDomCDATASection + qdomcdatasection.html + + QDomCDATASection + QDomCDATASection + () + + + QDomCDATASection + QDomCDATASection-2 + ( const QDomCDATASection & x ) + + + NodeType + nodeType + QDomCDATASection::nodeType() + + + operator= + operator-eq + ( const QDomCDATASection & x ) + + + + QDomCharacterData + qdomcharacterdata.html + + QDomCharacterData + QDomCharacterData + () + + + QDomCharacterData + QDomCharacterData-2 + ( const QDomCharacterData & x ) + + + appendData + appendData + ( const QString & arg ) + + + data + data + () + + + deleteData + deleteData + ( unsigned long offset, unsigned long count ) + + + insertData + insertData + ( unsigned long offset, const QString & arg ) + + + length + length + () + + + NodeType + nodeType + QDomCharacterData::nodeType() + + + replaceData + replaceData + ( unsigned long offset, unsigned long count, const QString & arg ) + + + setData + setData + ( const QString & v ) + + + substringData + substringData + ( unsigned long offset, unsigned long count ) + + + operator= + operator-eq + ( const QDomCharacterData & x ) + + + + QDomComment + qdomcomment.html + + QDomComment + QDomComment + () + + + QDomComment + QDomComment-2 + ( const QDomComment & x ) + + + NodeType + nodeType + QDomComment::nodeType() + + + operator= + operator-eq + ( const QDomComment & x ) + + + + QDomDocument + qdomdocument.html + + QDomDocument + QDomDocument + () + + + QDomDocument + QDomDocument-2 + ( const QString & name ) + + + QDomDocument + QDomDocument-3 + ( const QDomDocumentType & doctype ) + + + QDomDocument + QDomDocument-4 + ( const QDomDocument & x ) + + + createAttribute + createAttribute + ( const QString & name ) + + + createAttributeNS + createAttributeNS + ( const QString & nsURI, const QString & qName ) + + + createCDATASection + createCDATASection + ( const QString & value ) + + + createComment + createComment + ( const QString & value ) + + + createDocumentFragment + createDocumentFragment + () + + + createElement + createElement + ( const QString & tagName ) + + + createElementNS + createElementNS + ( const QString & nsURI, const QString & qName ) + + + createEntityReference + createEntityReference + ( const QString & name ) + + + createProcessingInstruction + createProcessingInstruction + ( const QString & target, const QString & data ) + + + createTextNode + createTextNode + ( const QString & value ) + + + doctype + doctype + () + + + documentElement + documentElement + () + + + elementById + elementById + ( const QString & elementId ) + + + elementsByTagName + elementsByTagName + ( const QString & tagname ) + + + elementsByTagNameNS + elementsByTagNameNS + ( const QString & nsURI, const QString & localName ) + + + implementation + implementation + () + + + importNode + importNode + ( const QDomNode & importedNode, bool deep ) + + + NodeType + nodeType + QDomDocument::nodeType() + + + setContent + setContent + ( const QByteArray & data, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-2 + ( const QString & text, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-3 + ( QIODevice * dev, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-4 + ( const QString & text, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-5 + ( const QByteArray & buffer, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-6 + ( QIODevice * dev, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + setContent + setContent-7 + ( QXmlInputSource * source, QXmlReader * reader, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 ) + + + toByteArray + toByteArray + ( int indent = 1 ) + + + toString + toString + ( int indent = 1 ) + + + operator= + operator-eq + ( const QDomDocument & x ) + + + + QDomDocumentFragment + qdomdocumentfragment.html + + QDomDocumentFragment + QDomDocumentFragment + () + + + QDomDocumentFragment + QDomDocumentFragment-2 + ( const QDomDocumentFragment & x ) + + + NodeType + nodeType + QDomDocumentFragment::nodeType() + + + operator= + operator-eq + ( const QDomDocumentFragment & x ) + + + + QDomDocumentType + qdomdocumenttype.html + + QDomDocumentType + QDomDocumentType + () + + + QDomDocumentType + QDomDocumentType-2 + ( const QDomDocumentType & n ) + + + entities + entities + () + + + internalSubset + internalSubset + () + + + name + name + () + + + NodeType + nodeType + QDomDocumentType::nodeType() + + + notations + notations + () + + + publicId + publicId + () + + + systemId + systemId + () + + + operator= + operator-eq + ( const QDomDocumentType & n ) + + + + QDomElement + qdomelement.html + + QDomElement + QDomElement + () + + + QDomElement + QDomElement-2 + ( const QDomElement & x ) + + + attribute + attributex + ( const QString & name, const QString & defValue = QString() + + + attributeNS + attributeNS + ( const QString nsURI, const QString & localName, const QString & defValue = QString() + + + attributeNode + attributeNode + ( const QString & name ) + + + attributeNodeNS + attributeNodeNS + ( const QString & nsURI, const QString & localName ) + + + attributes + attributes + () + + + elementsByTagName + elementsByTagName + ( const QString & tagname ) + + + elementsByTagNameNS + elementsByTagNameNS + ( const QString & nsURI, const QString & localName ) + + + hasAttribute + hasAttribute + ( const QString & name ) + + + hasAttributeNS + hasAttributeNS + ( const QString & nsURI, const QString & localName ) + + + NodeType + nodeType + QDomElement::nodeType() + + + removeAttribute + removeAttribute + ( const QString & name ) + + + removeAttributeNS + removeAttributeNS + ( const QString & nsURI, const QString & localName ) + + + removeAttributeNode + removeAttributeNode + ( const QDomAttr & oldAttr ) + + + setAttribute + setAttribute + ( const QString & name, const QString & value ) + + + setAttribute + setAttribute-2 + ( const QString & name, int value ) + + + setAttribute + setAttribute-3 + ( const QString & name, uint value ) + + + setAttribute + setAttribute-4 + ( const QString & name, qlonglong value ) + + + setAttribute + setAttribute-5 + ( const QString & name, qulonglong value ) + + + setAttribute + setAttribute-6 + ( const QString & name, float value ) + + + setAttribute + setAttribute-7 + ( const QString & name, double value ) + + + setAttributeNS + setAttributeNS + ( const QString nsURI, const QString & qName, const QString & value ) + + + setAttributeNS + setAttributeNS-2 + ( const QString nsURI, const QString & qName, int value ) + + + setAttributeNS + setAttributeNS-3 + ( const QString nsURI, const QString & qName, uint value ) + + + setAttributeNS + setAttributeNS-4 + ( const QString nsURI, const QString & qName, qlonglong value ) + + + setAttributeNS + setAttributeNS-5 + ( const QString nsURI, const QString & qName, qulonglong value ) + + + setAttributeNS + setAttributeNS-6 + ( const QString nsURI, const QString & qName, double value ) + + + setAttributeNode + setAttributeNode + ( const QDomAttr & newAttr ) + + + setAttributeNodeNS + setAttributeNodeNS + ( const QDomAttr & newAttr ) + + + setTagName + setTagName + ( const QString & name ) + + + tagName + tagName + () + + + text + text + () + + + operator= + operator-eq + ( const QDomElement & x ) + + + + QDomEntity + qdomentity.html + + QDomEntity + QDomEntity + () + + + QDomEntity + QDomEntity-2 + ( const QDomEntity & x ) + + + NodeType + nodeType + QDomEntity::nodeType() + + + notationName + notationName + () + + + publicId + publicId + () + + + systemId + systemId + () + + + operator= + operator-eq + ( const QDomEntity & x ) + + + + QDomEntityReference + qdomentityreference.html + + QDomEntityReference + QDomEntityReference + () + + + QDomEntityReference + QDomEntityReference-2 + ( const QDomEntityReference & x ) + + + NodeType + nodeType + QDomEntityReference::nodeType() + + + operator= + operator-eq + ( const QDomEntityReference & x ) + + + + QDomImplementation + qdomimplementation.html + + InvalidDataPolicy + InvalidDataPolicy-enum + + + + QDomImplementation + QDomImplementation + () + + + QDomImplementation + QDomImplementation-2 + ( const QDomImplementation & x ) + + + createDocument + createDocument + ( const QString & nsURI, const QString & qName, const QDomDocumentType & doctype ) + + + createDocumentType + createDocumentType + ( const QString & qName, const QString & publicId, const QString & systemId ) + + + hasFeature + hasFeature + ( const QString & feature, const QString & version ) + + + invalidDataPolicy + invalidDataPolicy + () + + + isNull + isNull + () + + + setInvalidDataPolicy + setInvalidDataPolicy + ( InvalidDataPolicy policy ) + + + operator!= + operator-not-eq + ( const QDomImplementation & x ) + + + operator= + operator-eq + ( const QDomImplementation & x ) + + + operator== + operator-eq-eq + ( const QDomImplementation & x ) + + + + QDomNamedNodeMap + qdomnamednodemap.html + + QDomNamedNodeMap + QDomNamedNodeMap + () + + + QDomNamedNodeMap + QDomNamedNodeMap-2 + ( const QDomNamedNodeMap & n ) + + + contains + contains + ( const QString & name ) + + + count + count + () + + + isEmpty + isEmpty + () + + + item + item + ( int index ) + + + length + length + () + + + namedItem + namedItem + ( const QString & name ) + + + namedItemNS + namedItemNS + ( const QString & nsURI, const QString & localName ) + + + removeNamedItem + removeNamedItem + ( const QString & name ) + + + removeNamedItemNS + removeNamedItemNS + ( const QString & nsURI, const QString & localName ) + + + setNamedItem + setNamedItem + ( const QDomNode & newNode ) + + + setNamedItemNS + setNamedItemNS + ( const QDomNode & newNode ) + + + size + size + () + + + operator!= + operator-not-eq + ( const QDomNamedNodeMap & n ) + + + operator= + operator-eq + ( const QDomNamedNodeMap & n ) + + + operator== + operator-eq-eq + ( const QDomNamedNodeMap & n ) + + + + QDomNode + qdomnode.html + + EncodingPolicy + EncodingPolicy-enum + + + + NodeType + NodeType-enum + + + + QDomNode + QDomNode + () + + + QDomNode + QDomNode-2 + ( const QDomNode & n ) + + + appendChild + appendChild + ( const QDomNode & newChild ) + + + attributes + attributes + () + + + childNodes + childNodes + () + + + clear + clear + () + + + cloneNode + cloneNode + ( bool deep = true ) + + + columnNumber + columnNumber + () + + + firstChild + firstChild + () + + + firstChildElement + firstChildElement + ( const QString & tagName = QString() + + + hasAttributes + hasAttributes + () + + + hasChildNodes + hasChildNodes + () + + + insertAfter + insertAfter + ( const QDomNode & newChild, const QDomNode & refChild ) + + + insertBefore + insertBefore + ( const QDomNode & newChild, const QDomNode & refChild ) + + + isAttr + isAttr + () + + + isCDATASection + isCDATASection + () + + + isCharacterData + isCharacterData + () + + + isComment + isComment + () + + + isDocument + isDocument + () + + + isDocumentFragment + isDocumentFragment + () + + + isDocumentType + isDocumentType + () + + + isElement + isElement + () + + + isEntity + isEntity + () + + + isEntityReference + isEntityReference + () + + + isNotation + isNotation + () + + + isNull + isNull + () + + + isProcessingInstruction + isProcessingInstruction + () + + + isSupported + isSupported + ( const QString & feature, const QString & version ) + + + isText + isText + () + + + lastChild + lastChild + () + + + lastChildElement + lastChildElement + ( const QString & tagName = QString() + + + lineNumber + lineNumber + () + + + localName + localName + () + + + namedItem + namedItem + ( const QString & name ) + + + namespaceURI + namespaceURI + () + + + nextSibling + nextSibling + () + + + nextSiblingElement + nextSiblingElement + ( const QString & tagName = QString() + + + nodeName + nodeName + () + + + nodeType + nodeType + () + + + nodeValue + nodeValue + () + + + normalize + normalize + () + + + ownerDocument + ownerDocument + () + + + parentNode + parentNode + () + + + prefix + prefix + () + + + previousSibling + previousSibling + () + + + previousSiblingElement + previousSiblingElement + ( const QString & tagName = QString() + + + removeChild + removeChild + ( const QDomNode & oldChild ) + + + replaceChild + replaceChild + ( const QDomNode & newChild, const QDomNode & oldChild ) + + + save + save + ( QTextStream & str, int indent ) + + + save + save-2 + ( QTextStream & str, int indent, EncodingPolicy encodingPolicy ) + + + setNodeValue + setNodeValue + ( const QString & v ) + + + setPrefix + setPrefix + ( const QString & pre ) + + + toAttr + toAttr + () + + + toCDATASection + toCDATASection + () + + + toCharacterData + toCharacterData + () + + + toComment + toComment + () + + + toDocument + toDocument + () + + + toDocumentFragment + toDocumentFragment + () + + + toDocumentType + toDocumentType + () + + + toElement + toElement + () + + + toEntity + toEntity + () + + + toEntityReference + toEntityReference + () + + + toNotation + toNotation + () + + + toProcessingInstruction + toProcessingInstruction + () + + + toText + toText + () + + + operator!= + operator-not-eq + ( const QDomNode & n ) + + + operator= + operator-eq + ( const QDomNode & n ) + + + operator== + operator-eq-eq + ( const QDomNode & n ) + + + + QDomNodeList + qdomnodelist.html + + QDomNodeList + QDomNodeList + () + + + QDomNodeList + QDomNodeList-2 + ( const QDomNodeList & n ) + + + at + at + ( int index ) + + + count + count + () + + + isEmpty + isEmpty + () + + + item + item + ( int index ) + + + length + length + () + + + size + size + () + + + operator!= + operator-not-eq + ( const QDomNodeList & n ) + + + operator= + operator-eq + ( const QDomNodeList & n ) + + + operator== + operator-eq-eq + ( const QDomNodeList & n ) + + + + QDomNotation + qdomnotation.html + + QDomNotation + QDomNotation + () + + + QDomNotation + QDomNotation-2 + ( const QDomNotation & x ) + + + NodeType + nodeType + QDomNotation::nodeType() + + + publicId + publicId + () + + + systemId + systemId + () + + + operator= + operator-eq + ( const QDomNotation & x ) + + + + QDomProcessingInstruction + qdomprocessinginstruction.html + + QDomProcessingInstruction + QDomProcessingInstruction + () + + + QDomProcessingInstruction + QDomProcessingInstruction-2 + ( const QDomProcessingInstruction & x ) + + + data + data + () + + + NodeType + nodeType + QDomProcessingInstruction::nodeType() + + + setData + setData + ( const QString & d ) + + + target + target + () + + + operator= + operator-eq + ( const QDomProcessingInstruction & x ) + + + + QDomText + qdomtext.html + + QDomText + QDomText + () + + + QDomText + QDomText-2 + ( const QDomText & x ) + + + NodeType + nodeType + QDomText::nodeType() + + + splitText + splitText + ( int offset ) + + + operator= + operator-eq + ( const QDomText & x ) + + + + QDoubleSpinBox + qdoublespinbox.html + + QDoubleSpinBox + QDoubleSpinBox + ( QWidget * parent = 0 ) + + + setRange + setRange + ( double minimum, double maximum ) + + + textFromValue + textFromValue + ( double value ) + + + valueChanged + valueChanged + ( double d ) + + + valueChanged + valueChanged-2 + ( const QString & text ) + + + valueFromText + valueFromText + ( const QString & text ) + + + QDoubleValidator + QDoubleValidator-3 + ( QObject * parent, const char * name ) + + + QDoubleValidator + QDoubleValidator-4 + ( double bottom, double top, int decimals, QObject * parent, const char * name ) + + + + QDoubleValidator + qdoublevalidator.html + + Notation + Notation-enum + + + + QDoubleValidator + QDoubleValidator + ( QObject * parent ) + + + QDoubleValidator + QDoubleValidator-2 + ( double bottom, double top, int decimals, QObject * parent ) + + + setRange + setRange + ( double minimum, double maximum, int decimals = 0 ) + + + State + validate + QDoubleValidator::validate( QString & input, int & pos ) + + + QDoubleValidator + QDoubleValidator-3 + ( QObject * parent, const char * name ) + + + QDoubleValidator + QDoubleValidator-4 + ( double bottom, double top, int decimals, QObject * parent, const char * name ) + + + DropAction + start + QDrag::start( Qt::DropActions request = Qt::CopyAction ) + + + + QDrag + qdrag.html + + QDrag + QDrag + ( QWidget * dragSource ) + + + actionChanged + actionChanged + ( Qt::DropAction action ) + + + DropAction + exec + QDrag::exec( Qt::DropActions supportedActions = Qt::MoveAction ) + + + DropAction + exec-2 + QDrag::exec( Qt::DropActions supportedActions, Qt::DropAction defaultDropAction ) + + + hotSpot + hotSpot + () + + + mimeData + mimeData + () + + + pixmap + pixmap + () + + + setDragCursor + setDragCursor + ( const QPixmap & cursor, Qt::DropAction action ) + + + setHotSpot + setHotSpot + ( const QPoint & hotspot ) + + + setMimeData + setMimeData + ( QMimeData * data ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + source + source + () + + + target + target + () + + + targetChanged + targetChanged + ( QWidget * newTarget ) + + + + QDragEnterEvent + qdragenterevent.html + + QDragEnterEvent + QDragEnterEvent + ( const QPoint & point, Qt::DropActions actions, const QMimeData * data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ) + + + + QDragLeaveEvent + qdragleaveevent.html + + QDragLeaveEvent + QDragLeaveEvent + () + + + accept + accept-2 + ( bool y ) + + + + QDragMoveEvent + qdragmoveevent.html + + QDragMoveEvent + QDragMoveEvent + ( const QPoint & pos, Qt::DropActions actions, const QMimeData * data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove ) + + + accept + accept + ( const QRect & rectangle ) + + + accept + accept-3 + () + + + answerRect + answerRect + () + + + ignore + ignore + ( const QRect & rectangle ) + + + ignore + ignore-2 + () + + + accept + accept-2 + ( bool y ) + + + Action + Action-enum + + + + accept + accept-2 + ( bool accept ) + + + acceptAction + acceptAction + ( bool accept = true ) + + + action + action + () + + + data + data + ( const char * f ) + + + encodedData + encodedData + ( const char * format ) + + + format + format + ( int n = 0 ) + + + provides + provides + ( const char * mimeType ) + + + setPoint + setPoint + ( const QPoint & point ) + + + + QDropEvent + qdropevent.html + + QDropEvent + QDropEvent + ( const QPoint & pos, Qt::DropActions actions, const QMimeData * data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop ) + + + acceptProposedAction + acceptProposedAction + () + + + DropAction + dropAction + QDropEvent::dropAction() + + + KeyboardModifiers + keyboardModifiers + QDropEvent::keyboardModifiers() + + + mimeData + mimeData + () + + + MouseButtons + mouseButtons + QDropEvent::mouseButtons() + + + pos + pos + () + + + DropActions + possibleActions + QDropEvent::possibleActions() + + + DropAction + proposedAction + QDropEvent::proposedAction() + + + setDropAction + setDropAction + ( Qt::DropAction action ) + + + source + source + () + + + Action + Action-enum + + + + accept + accept-2 + ( bool accept ) + + + acceptAction + acceptAction + ( bool accept = true ) + + + action + action + () + + + data + data + ( const char * f ) + + + encodedData + encodedData + ( const char * format ) + + + format + format + ( int n = 0 ) + + + provides + provides + ( const char * mimeType ) + + + setPoint + setPoint + ( const QPoint & point ) + + + + QDynamicPropertyChangeEvent + qdynamicpropertychangeevent.html + + QDynamicPropertyChangeEvent + QDynamicPropertyChangeEvent + ( const QByteArray & name ) + + + propertyName + propertyName + () + + + message + message + ( const QString & message ) + + + + QErrorMessage + qerrormessage.html + + QErrorMessage + QErrorMessage + ( QWidget * parent = 0 ) + + + changeEvent + changeEvent + ( QEvent * e ) + + + qtHandler + qtHandler + () + + + showMessage + showMessage + ( const QString & message ) + + + message + message + ( const QString & message ) + + + + QEvent + qevent.html + + Type + Type-enum + + + + QEvent + QEvent + ( Type type ) + + + accept + accept + () + + + ignore + ignore + () + + + spontaneous + spontaneous + () + + + type + type + () + + + + QEventLoop + qeventloop.html + + QEventLoop + QEventLoop + ( QObject * parent = 0 ) + + + exec + exec + ( ProcessEventsFlags flags = AllEvents ) + + + exit + exit + ( int returnCode = 0 ) + + + isRunning + isRunning + () + + + processEvents + processEvents + ( ProcessEventsFlags flags = AllEvents ) + + + processEvents + processEvents-2 + ( ProcessEventsFlags flags, int maxTime ) + + + quit + quit + () + + + wakeUp + wakeUp + () + + + + QExtensionFactory + qextensionfactory.html + + QExtensionFactory + QExtensionFactory + ( QExtensionManager * parent = 0 ) + + + createExtension + createExtension + ( QObject * object, const QString & iid, QObject * parent ) + + + extension + extension + ( QObject * object, const QString & iid ) + + + extensionManager + extensionManager + () + + + + QExtensionManager + qextensionmanager.html + + QExtensionManager + QExtensionManager + ( QObject * parent = 0 ) + + + extension + extension + ( QObject * object, const QString & iid ) + + + registerExtensions + registerExtensions + ( QAbstractExtensionFactory * factory, const QString & iid = QString() + + + unregisterExtensions + unregisterExtensions + ( QAbstractExtensionFactory * factory, const QString & iid = QString() + + + readLink + readLink + () + + + readLink + readLink-2 + ( const QString & fileName ) + + + name + name + () + + + open + open-2 + ( OpenMode flags, FILE * f ) + + + open + open-3 + ( OpenMode flags, int fd ) + + + setName + setName + ( const QString & name ) + + + + QFile + qfile.html + + DecoderFn + DecoderFn-typedef + + + + EncoderFn + EncoderFn-typedef + + + + FileError + FileError-enum + + + + PermissionSpec + PermissionSpec-typedef + + + + QFile + QFile + ( const QString & name ) + + + QFile + QFile-3 + ( QObject * parent ) + + + QFile + QFile-4 + ( const QString & name, QObject * parent ) + + + atEnd + atEnd + () + + + copy + copy + ( const QString & newName ) + + + copy + copy-2 + ( const QString & fileName, const QString & newName ) + + + decodeName + decodeName + ( const QByteArray & localFileName ) + + + decodeName + decodeName-2 + ( const char * localFileName ) + + + encodeName + encodeName + ( const QString & fileName ) + + + error + error + () + + + exists + exists + ( const QString & fileName ) + + + exists + exists-2 + () + + + fileName + fileName + () + + + flush + flush + () + + + handle + handle + () + + + isSequential + isSequential + () + + + link + link + ( const QString & linkName ) + + + link + link-2 + ( const QString & fileName, const QString & linkName ) + + + open + open + ( OpenMode mode ) + + + open + open-4 + ( FILE * fh, OpenMode mode ) + + + open + open-5 + ( int fd, OpenMode mode ) + + + permissions + permissions + () + + + permissions + permissions-2 + ( const QString & fileName ) + + + remove + remove + () + + + remove + remove-2 + ( const QString & fileName ) + + + rename + rename + ( const QString & newName ) + + + rename + rename-2 + ( const QString & oldName, const QString & newName ) + + + resize + resize + ( qint64 sz ) + + + resize + resize-2 + ( const QString & fileName, qint64 sz ) + + + setDecodingFunction + setDecodingFunction + ( DecoderFn function ) + + + setEncodingFunction + setEncodingFunction + ( EncoderFn function ) + + + setFileName + setFileName + ( const QString & name ) + + + setPermissions + setPermissions + ( Permissions permissions ) + + + setPermissions + setPermissions-2 + ( const QString & fileName, Permissions permissions ) + + + size + size + () + + + symLinkTarget + symLinkTarget + ( const QString & fileName ) + + + symLinkTarget + symLinkTarget-2 + () + + + unsetError + unsetError + () + + + name + name + () + + + open + open-2 + ( OpenMode flags, FILE * f ) + + + open + open-3 + ( OpenMode flags, int fd ) + + + setName + setName + ( const QString & name ) + + + getExistingDirectory + getExistingDirectory-2 + ( const QString & dir, QWidget * parent = 0, const char * name = 0, const QString & caption = QString() + + + getOpenFileName + getOpenFileName-2 + ( const QString & dir, const QString & filter = QString() + + + getOpenFileNames + getOpenFileNames-2 + ( const QString & filter, const QString & dir = QString() + + + getSaveFileName + getSaveFileName-2 + ( const QString & dir, const QString & filter = QString() + + + mode + mode + () + + + selectedFile + selectedFile + () + + + setDir + setDir + ( const QString & directory ) + + + setDir + setDir-2 + ( const QDir & directory ) + + + setMode + setMode + ( FileMode m ) + + + + QFileDialog + qfiledialog.html + + AcceptMode + AcceptMode-enum + + + + DialogLabel + DialogLabel-enum + + + + FileMode + FileMode-enum + + + + Mode + Mode-typedef + + + + ViewMode + ViewMode-enum + + + + QFileDialog + QFileDialog + ( QWidget * parent, Qt::WindowFlags flags ) + + + QFileDialog + QFileDialog-2 + ( QWidget * parent = 0, const QString & caption = QString() + + + currentChanged + currentChanged + ( const QString & path ) + + + directory + directory + () + + + directoryEntered + directoryEntered + ( const QString & directory ) + + + filesSelected + filesSelected + ( const QStringList & selected ) + + + filterSelected + filterSelected + ( const QString & filter ) + + + filters + filters + () + + + getExistingDirectory + getExistingDirectory + ( QWidget * parent = 0, const QString & caption = QString() + + + getOpenFileName + getOpenFileName + ( QWidget * parent = 0, const QString & caption = QString() + + + getOpenFileNames + getOpenFileNames + ( QWidget * parent = 0, const QString & caption = QString() + + + getSaveFileName + getSaveFileName + ( QWidget * parent = 0, const QString & caption = QString() + + + history + history + () + + + iconProvider + iconProvider + () + + + itemDelegate + itemDelegate + () + + + labelText + labelText + ( DialogLabel label ) + + + proxyModel + proxyModel + () + + + restoreState + restoreState + ( const QByteArray & state ) + + + saveState + saveState + () + + + selectFile + selectFile + ( const QString & filename ) + + + selectFilter + selectFilter + ( const QString & filter ) + + + selectedFiles + selectedFiles + () + + + selectedFilter + selectedFilter + () + + + setDirectory + setDirectory + ( const QString & directory ) + + + setDirectory + setDirectory-2 + ( const QDir & directory ) + + + setFilter + setFilter + ( const QString & filter ) + + + setFilters + setFilters + ( const QStringList & filters ) + + + setHistory + setHistory + ( const QStringList & paths ) + + + setIconProvider + setIconProvider + ( QFileIconProvider * provider ) + + + setItemDelegate + setItemDelegate + ( QAbstractItemDelegate * delegate ) + + + setLabelText + setLabelText + ( DialogLabel label, const QString & text ) + + + setProxyModel + setProxyModel + ( QAbstractProxyModel * proxyModel ) + + + setSidebarUrls + setSidebarUrls + ( const QList<QUrl> & urls ) + + + sidebarUrls + sidebarUrls + () + + + getExistingDirectory + getExistingDirectory-2 + ( const QString & dir, QWidget * parent = 0, const char * name = 0, const QString & caption = QString() + + + getOpenFileName + getOpenFileName-2 + ( const QString & dir, const QString & filter = QString() + + + getOpenFileNames + getOpenFileNames-2 + ( const QString & filter, const QString & dir = QString() + + + getSaveFileName + getSaveFileName-2 + ( const QString & dir, const QString & filter = QString() + + + mode + mode + () + + + selectedFile + selectedFile + () + + + setDir + setDir + ( const QString & directory ) + + + setDir + setDir-2 + ( const QDir & directory ) + + + setMode + setMode + ( FileMode m ) + + + + QFileIconProvider + qfileiconprovider.html + + IconType + IconType-enum + + + + QFileIconProvider + QFileIconProvider + () + + + icon + icon + ( IconType type ) + + + icon + icon-2 + ( const QFileInfo & info ) + + + type + type + ( const QFileInfo & info ) + + + readLink + readLink + () + + + absFilePath + absFilePath + () + + + baseName + baseName-2 + ( bool complete ) + + + convertToAbs + convertToAbs + () + + + dir + dir-2 + ( bool absPath ) + + + dirPath + dirPath + ( bool absPath = false ) + + + extension + extension + ( bool complete = true ) + + + permission + permission-2 + ( PermissionSpec permissions ) + + + + QFileInfo + qfileinfo.html + + QFileInfo + QFileInfo + () + + + QFileInfo + QFileInfo-2 + ( const QString & file ) + + + QFileInfo + QFileInfo-3 + ( const QFile & file ) + + + QFileInfo + QFileInfo-4 + ( const QDir & dir, const QString & file ) + + + QFileInfo + QFileInfo-5 + ( const QFileInfo & fileinfo ) + + + absoluteDir + absoluteDir + () + + + absoluteFilePath + absoluteFilePath + () + + + absolutePath + absolutePath + () + + + baseName + baseName + () + + + bundleName + bundleName + () + + + caching + caching + () + + + canonicalFilePath + canonicalFilePath + () + + + canonicalPath + canonicalPath + () + + + completeBaseName + completeBaseName + () + + + completeSuffix + completeSuffix + () + + + created + created + () + + + dir + dir + () + + + exists + exists + () + + + fileName + fileName + () + + + filePath + filePath + () + + + group + group + () + + + groupId + groupId + () + + + isAbsolute + isAbsolute + () + + + isBundle + isBundle + () + + + isDir + isDir + () + + + isExecutable + isExecutable + () + + + isFile + isFile + () + + + isHidden + isHidden + () + + + isReadable + isReadable + () + + + isRelative + isRelative + () + + + isRoot + isRoot + () + + + isSymLink + isSymLink + () + + + isWritable + isWritable + () + + + lastModified + lastModified + () + + + lastRead + lastRead + () + + + makeAbsolute + makeAbsolute + () + + + owner + owner + () + + + ownerId + ownerId + () + + + path + path + () + + + permission + permission + ( QFile::Permissions permissions ) + + + Permissions + permissions + QFileInfo::permissions() + + + refresh + refresh + () + + + setCaching + setCaching + ( bool enable ) + + + setFile + setFile + ( const QString & file ) + + + setFile + setFile-2 + ( const QFile & file ) + + + setFile + setFile-3 + ( const QDir & dir, const QString & file ) + + + size + size + () + + + suffix + suffix + () + + + symLinkTarget + symLinkTarget + () + + + operator!= + operator-not-eq + ( const QFileInfo & fileinfo ) + + + operator!= + operator-not-eq-2 + ( const QFileInfo & fileinfo ) + + + operator= + operator-eq + ( const QFileInfo & fileinfo ) + + + operator== + operator-eq-eq + ( const QFileInfo & fileinfo ) + + + operator== + operator-eq-eq-2 + ( const QFileInfo & fileinfo ) + + + absFilePath + absFilePath + () + + + baseName + baseName-2 + ( bool complete ) + + + convertToAbs + convertToAbs + () + + + dir + dir-2 + ( bool absPath ) + + + dirPath + dirPath + ( bool absPath = false ) + + + extension + extension + ( bool complete = true ) + + + permission + permission-2 + ( PermissionSpec permissions ) + + + + QFileOpenEvent + qfileopenevent.html + + file + file + () + + + + QFileSystemWatcher + qfilesystemwatcher.html + + QFileSystemWatcher + QFileSystemWatcher + ( QObject * parent = 0 ) + + + QFileSystemWatcher + QFileSystemWatcher-2 + ( const QStringList & paths, QObject * parent = 0 ) + + + addPath + addPath + ( const QString & path ) + + + addPaths + addPaths + ( const QStringList & paths ) + + + directories + directories + () + + + directoryChanged + directoryChanged + ( const QString & path ) + + + fileChanged + fileChanged + ( const QString & path ) + + + files + files + () + + + removePath + removePath + ( const QString & path ) + + + removePaths + removePaths + ( const QStringList & paths ) + + + + QFlag + qflag.html + + QFlag + QFlag + ( int value ) + + + operator + operator-int + int() + + + + QFlags + qflags.html + + enum_type + enum_type-typedef + + + + QFlags + QFlags + ( const QFlags & other ) + + + QFlags + QFlags-2 + ( Enum flag ) + + + QFlags + QFlags-3 + ( Zero zero = 0 ) + + + QFlags + QFlags-4 + ( QFlag value ) + + + testFlag + testFlag + ( Enum flag ) + + + operator + operator-int + int() + + + operator! + operator-not + () + + + operator& + operator-and + amp;( int mask ) + + + operator& + operator-and-2 + amp;( uint mask ) + + + operator& + operator-and-3 + amp;( Enum mask ) + + + operator& + operator-and-eq + amp;=( int mask ) + + + operator& + operator-and-eq-2 + amp;=( uint mask ) + + + operator= + operator-eq + ( const QFlags & other ) + + + operator^ + operator-5e + ( QFlags other ) + + + operator^ + operator-5e-2 + ( Enum other ) + + + operator^= + operator-5e-eq + ( QFlags other ) + + + operator^= + operator-5e-eq-2 + ( Enum other ) + + + operator| + operator-7c + ( QFlags other ) + + + operator| + operator-7c-2 + ( Enum other ) + + + operator|= + operator-7c-eq + ( QFlags other ) + + + operator|= + operator-7c-eq-2 + ( Enum other ) + + + operator~ + operator-7e + () + + + Reason + Reason-enum + + + + + QFocusEvent + qfocusevent.html + + QFocusEvent + QFocusEvent + ( Type type, Qt::FocusReason reason = Qt::OtherFocusReason ) + + + gotFocus + gotFocus + () + + + lostFocus + lostFocus + () + + + FocusReason + reason + QFocusEvent::reason() + + + Reason + Reason-enum + + + + + QFocusFrame + qfocusframe.html + + QFocusFrame + QFocusFrame + ( QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOption * option ) + + + setWidget + setWidget + ( QWidget * widget ) + + + widget + widget + () + + + defaultFont + defaultFont + () + + + pointSizeFloat + pointSizeFloat + () + + + setDefaultFont + setDefaultFont + ( const QFont & f ) + + + setPixelSizeFloat + setPixelSizeFloat + ( qreal pixelSize ) + + + setPointSizeFloat + setPointSizeFloat + ( qreal size ) + + + + QFont + qfont.html + + Stretch + Stretch-enum + + + + Style + Style-enum + + + + StyleHint + StyleHint-enum + + + + StyleStrategy + StyleStrategy-enum + + + + Weight + Weight-enum + + + + QFont + QFont + () + + + QFont + QFont-2 + ( const QString & family, int pointSize = -1, int weight = -1, bool italic = false ) + + + QFont + QFont-3 + ( const QFont & font, QPaintDevice * pd ) + + + QFont + QFont-4 + ( const QFont & font ) + + + bold + bold + () + + + defaultFamily + defaultFamily + () + + + exactMatch + exactMatch + () + + + family + family + () + + + fixedPitch + fixedPitch + () + + + freetypeFace + freetypeFace + () + + + fromString + fromString + ( const QString & descrip ) + + + handle + handle + () + + + insertSubstitution + insertSubstitution + ( const QString & familyName, const QString & substituteName ) + + + insertSubstitutions + insertSubstitutions + ( const QString & familyName, const QStringList & substituteNames ) + + + isCopyOf + isCopyOf + ( const QFont & f ) + + + italic + italic + () + + + kerning + kerning + () + + + key + key + () + + + lastResortFamily + lastResortFamily + () + + + lastResortFont + lastResortFont + () + + + macFontID + macFontID + () + + + overline + overline + () + + + pixelSize + pixelSize + () + + + pointSize + pointSize + () + + + pointSizeF + pointSizeF + () + + + rawMode + rawMode + () + + + rawName + rawName + () + + + removeSubstitution + removeSubstitution + ( const QString & familyName ) + + + resolve + resolve + ( const QFont & other ) + + + setBold + setBold + ( bool enable ) + + + setFamily + setFamily + ( const QString & family ) + + + setFixedPitch + setFixedPitch + ( bool enable ) + + + setItalic + setItalic + ( bool enable ) + + + setKerning + setKerning + ( bool enable ) + + + setOverline + setOverline + ( bool enable ) + + + setPixelSize + setPixelSize + ( int pixelSize ) + + + setPointSize + setPointSize + ( int pointSize ) + + + setPointSizeF + setPointSizeF + ( qreal pointSize ) + + + setRawMode + setRawMode + ( bool enable ) + + + setRawName + setRawName + ( const QString & name ) + + + setStretch + setStretch + ( int factor ) + + + setStrikeOut + setStrikeOut + ( bool enable ) + + + setStyle + setStyle + ( Style style ) + + + setStyleHint + setStyleHint + ( StyleHint hint, StyleStrategy strategy = PreferDefault ) + + + setStyleStrategy + setStyleStrategy + ( StyleStrategy s ) + + + setUnderline + setUnderline + ( bool enable ) + + + setWeight + setWeight + ( int weight ) + + + stretch + stretch + () + + + strikeOut + strikeOut + () + + + style + style + () + + + styleHint + styleHint + () + + + styleStrategy + styleStrategy + () + + + substitute + substitute + ( const QString & familyName ) + + + substitutes + substitutes + ( const QString & familyName ) + + + substitutions + substitutions + () + + + toString + toString + () + + + underline + underline + () + + + weight + weight + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QFont & f ) + + + operator< + operator-lt + ( const QFont & f ) + + + operator= + operator-eq + ( const QFont & font ) + + + operator== + operator-eq-eq + ( const QFont & f ) + + + defaultFont + defaultFont + () + + + pointSizeFloat + pointSizeFloat + () + + + setDefaultFont + setDefaultFont + ( const QFont & f ) + + + setPixelSizeFloat + setPixelSizeFloat + ( qreal pixelSize ) + + + setPointSizeFloat + setPointSizeFloat + ( qreal size ) + + + + QFontComboBox + qfontcombobox.html + + WritingSystem + writingSystem-prop + + + + QFontComboBox + QFontComboBox + ( QWidget * parent = 0 ) + + + currentFontChanged + currentFontChanged + ( const QFont & font ) + + + + QFontDatabase + qfontdatabase.html + + WritingSystem + WritingSystem-enum + + + + QFontDatabase + QFontDatabase + () + + + addApplicationFont + addApplicationFont + ( const QString & fileName ) + + + addApplicationFontFromData + addApplicationFontFromData + ( const QByteArray & fontData ) + + + applicationFontFamilies + applicationFontFamilies + ( int id ) + + + bold + bold + ( const QString & family, const QString & style ) + + + families + families + ( WritingSystem writingSystem = Any ) + + + font + font + ( const QString & family, const QString & style, int pointSize ) + + + isBitmapScalable + isBitmapScalable + ( const QString & family, const QString & style = QString() + + + isFixedPitch + isFixedPitch + ( const QString & family, const QString & style = QString() + + + isScalable + isScalable + ( const QString & family, const QString & style = QString() + + + isSmoothlyScalable + isSmoothlyScalable + ( const QString & family, const QString & style = QString() + + + italic + italic + ( const QString & family, const QString & style ) + + + pointSizes + pointSizes + ( const QString & family, const QString & style = QString() + + + removeAllApplicationFonts + removeAllApplicationFonts + () + + + removeApplicationFont + removeApplicationFont + ( int id ) + + + smoothSizes + smoothSizes + ( const QString & family, const QString & style ) + + + standardSizes + standardSizes + () + + + styleString + styleString + ( const QFont & font ) + + + styleString + styleString-2 + ( const QFontInfo & fontInfo ) + + + styles + styles + ( const QString & family ) + + + weight + weight + ( const QString & family, const QString & style ) + + + writingSystemName + writingSystemName + ( WritingSystem writingSystem ) + + + writingSystemSample + writingSystemSample + ( WritingSystem writingSystem ) + + + writingSystems + writingSystems + () + + + writingSystems + writingSystems-2 + ( const QString & family ) + + + + QFontDialog + qfontdialog.html + + changeEvent + changeEvent + ( QEvent * e ) + + + getFont + getFont + ( bool * ok, const QFont & initial, QWidget * parent, const QString & caption ) + + + getFont + getFont-2 + ( bool * ok, const QFont & def, QWidget * parent, const char * name ) + + + getFont + getFont-3 + ( bool * ok, QWidget * parent, const char * name ) + + + getFont + getFont-5 + ( bool * ok, const QFont & initial, QWidget * parent = 0 ) + + + getFont + getFont-6 + ( bool * ok, QWidget * parent = 0 ) + + + + QFontEngineInfo + qfontengineinfo.html + + Style + style-prop + + + + WritingSystem + writingSystems-prop + > + + + QFontEngineInfo + QFontEngineInfo + () + + + QFontEngineInfo + QFontEngineInfo-2 + ( const QString & family ) + + + QFontEngineInfo + QFontEngineInfo-3 + ( const QFontEngineInfo & other ) + + + operator= + operator-eq + ( const QFontEngineInfo & other ) + + + + QFontEnginePlugin + qfontengineplugin.html + + QFontEnginePlugin + QFontEnginePlugin + ( const QString & foundry, QObject * parent = 0 ) + + + availableFontEngines + availableFontEngines + () + + + create + create + ( const QFontEngineInfo & info ) + + + keys + keys + () + + + + QFontInfo + qfontinfo.html + + QFontInfo + QFontInfo + ( const QFont & font ) + + + QFontInfo + QFontInfo-2 + ( const QFontInfo & fi ) + + + bold + bold + () + + + exactMatch + exactMatch + () + + + family + family + () + + + fixedPitch + fixedPitch + () + + + italic + italic + () + + + pixelSize + pixelSize + () + + + pointSize + pointSize + () + + + pointSizeF + pointSizeF + () + + + rawMode + rawMode + () + + + Style + style + QFontInfo::style() + + + StyleHint + styleHint + QFontInfo::styleHint() + + + weight + weight + () + + + operator= + operator-eq + ( const QFontInfo & fi ) + + + boundingRect + boundingRect-3 + ( const QString & text, int len ) + + + boundingRect + boundingRect-4 + ( int x, int y, int w, int h, int flags, const QString & text, int len, int tabStops = 0, int * tabArray = 0 ) + + + size + size-2 + ( int flags, const QString & text, int len, int tabStops = 0, int * tabArray = 0 ) + + + + QFontMetrics + qfontmetrics.html + + QFontMetrics + QFontMetrics + ( const QFont & font ) + + + QFontMetrics + QFontMetrics-2 + ( const QFont & font, QPaintDevice * paintdevice ) + + + QFontMetrics + QFontMetrics-3 + ( const QFontMetrics & fm ) + + + ascent + ascent + () + + + averageCharWidth + averageCharWidth + () + + + boundingRect + boundingRect + ( QChar ch ) + + + boundingRect + boundingRect-2 + ( const QString & text ) + + + boundingRect + boundingRect-5 + ( int x, int y, int width, int height, int flags, const QString & text, int tabStops = 0, int * tabArray = 0 ) + + + boundingRect + boundingRect-6 + ( const QRect & rect, int flags, const QString & text, int tabStops = 0, int * tabArray = 0 ) + + + charWidth + charWidth + ( const QString & text, int pos ) + + + descent + descent + () + + + elidedText + elidedText + ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) + + + height + height + () + + + inFont + inFont + ( QChar ch ) + + + leading + leading + () + + + leftBearing + leftBearing + ( QChar ch ) + + + lineSpacing + lineSpacing + () + + + lineWidth + lineWidth + () + + + maxWidth + maxWidth + () + + + minLeftBearing + minLeftBearing + () + + + minRightBearing + minRightBearing + () + + + overlinePos + overlinePos + () + + + rightBearing + rightBearing + ( QChar ch ) + + + size + size + ( int flags, const QString & text, int tabStops = 0, int * tabArray = 0 ) + + + strikeOutPos + strikeOutPos + () + + + tightBoundingRect + tightBoundingRect + ( const QString & text ) + + + underlinePos + underlinePos + () + + + width + width + ( const QString & text, int len = -1 ) + + + width + width-2 + ( QChar ch ) + + + xHeight + xHeight + () + + + operator!= + operator-not-eq + ( const QFontMetrics & other ) + + + operator!= + operator-not-eq-2 + ( const QFontMetrics & other ) + + + operator= + operator-eq + ( const QFontMetrics & fm ) + + + operator== + operator-eq-eq + ( const QFontMetrics & other ) + + + operator== + operator-eq-eq-2 + ( const QFontMetrics & other ) + + + boundingRect + boundingRect-3 + ( const QString & text, int len ) + + + boundingRect + boundingRect-4 + ( int x, int y, int w, int h, int flags, const QString & text, int len, int tabStops = 0, int * tabArray = 0 ) + + + size + size-2 + ( int flags, const QString & text, int len, int tabStops = 0, int * tabArray = 0 ) + + + + QFontMetricsF + qfontmetricsf.html + + QFontMetricsF + QFontMetricsF + ( const QFont & font ) + + + QFontMetricsF + QFontMetricsF-2 + ( const QFont & font, QPaintDevice * paintdevice ) + + + QFontMetricsF + QFontMetricsF-3 + ( const QFontMetrics & fontMetrics ) + + + QFontMetricsF + QFontMetricsF-4 + ( const QFontMetricsF & fm ) + + + ascent + ascent + () + + + averageCharWidth + averageCharWidth + () + + + boundingRect + boundingRect + ( const QString & text ) + + + boundingRect + boundingRect-2 + ( QChar ch ) + + + boundingRect + boundingRect-3 + ( const QRectF & rect, int flags, const QString & text, int tabStops = 0, int * tabArray = 0 ) + + + descent + descent + () + + + elidedText + elidedText + ( const QString & text, Qt::TextElideMode mode, qreal width, int flags = 0 ) + + + height + height + () + + + inFont + inFont + ( QChar ch ) + + + leading + leading + () + + + leftBearing + leftBearing + ( QChar ch ) + + + lineSpacing + lineSpacing + () + + + lineWidth + lineWidth + () + + + maxWidth + maxWidth + () + + + minLeftBearing + minLeftBearing + () + + + minRightBearing + minRightBearing + () + + + overlinePos + overlinePos + () + + + rightBearing + rightBearing + ( QChar ch ) + + + size + size + ( int flags, const QString & text, int tabStops = 0, int * tabArray = 0 ) + + + strikeOutPos + strikeOutPos + () + + + tightBoundingRect + tightBoundingRect + ( const QString & text ) + + + underlinePos + underlinePos + () + + + width + width + ( const QString & text ) + + + width + width-2 + ( QChar ch ) + + + xHeight + xHeight + () + + + operator!= + operator-not-eq + ( const QFontMetricsF & other ) + + + operator!= + operator-not-eq-2 + ( const QFontMetricsF & other ) + + + operator= + operator-eq + ( const QFontMetricsF & fm ) + + + operator= + operator-eq-2 + ( const QFontMetrics & other ) + + + operator== + operator-eq-eq + ( const QFontMetricsF & other ) + + + operator== + operator-eq-eq-2 + ( const QFontMetricsF & other ) + + + + QFormBuilder + qformbuilder.html + + QFormBuilder + QFormBuilder + () + + + addPluginPath + addPluginPath + ( const QString & pluginPath ) + + + clearPluginPaths + clearPluginPaths + () + + + customWidgets + customWidgets + () + + + pluginPaths + pluginPaths + () + + + setPluginPath + setPluginPath + ( const QStringList & pluginPaths ) + + + QFrame + QFrame-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + + QFrame + qframe.html + + Shadow + Shadow-enum + + + + Shape + Shape-enum + + + + StyleMask + StyleMask-enum + + + + QFrame + QFrame + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + frameStyle + frameStyle + () + + + setFrameStyle + setFrameStyle + ( int style ) + + + QFrame + QFrame-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + + QFSFileEngine + qfsfileengine.html + + QFSFileEngine + QFSFileEngine + () + + + QFSFileEngine + QFSFileEngine-2 + ( const QString & file ) + + + currentPath + currentPath + ( const QString & fileName = QString() + + + drives + drives + () + + + homePath + homePath + () + + + open + open + ( QIODevice::OpenMode openMode, FILE * fh ) + + + open + open-3 + ( QIODevice::OpenMode openMode, int fd ) + + + rootPath + rootPath + () + + + setCurrentPath + setCurrentPath + ( const QString & path ) + + + tempPath + tempPath + () + + + QFtp + QFtp-2 + ( QObject * parent, const char * name ) + + + readBlock + readBlock + ( char * data, quint64 maxlen ) + + + + QFtp + qftp.html + + Command + Command-enum + + + + Error + Error-enum + + + + State + State-enum + + + + TransferMode + TransferMode-enum + + + + TransferType + TransferType-enum + + + + QFtp + QFtp + ( QObject * parent = 0 ) + + + abort + abort + () + + + bytesAvailable + bytesAvailable + () + + + cd + cd + ( const QString & dir ) + + + clearPendingCommands + clearPendingCommands + () + + + close + close + () + + + commandFinished + commandFinished + ( int id, bool error ) + + + commandStarted + commandStarted + ( int id ) + + + connectToHost + connectToHost + ( const QString & host, quint16 port = 21 ) + + + currentCommand + currentCommand + () + + + currentDevice + currentDevice + () + + + currentId + currentId + () + + + dataTransferProgress + dataTransferProgress + ( qint64 done, qint64 total ) + + + done + done + ( bool error ) + + + error + error + () + + + errorString + errorString + () + + + get + get + ( const QString & file, QIODevice * dev = 0, TransferType type = Binary ) + + + hasPendingCommands + hasPendingCommands + () + + + list + list + ( const QString & dir = QString() + + + listInfo + listInfo + ( const QUrlInfo & i ) + + + login + login + ( const QString & user = QString() + + + mkdir + mkdir + ( const QString & dir ) + + + put + put + ( QIODevice * dev, const QString & file, TransferType type = Binary ) + + + put + put-2 + ( const QByteArray & data, const QString & file, TransferType type = Binary ) + + + rawCommand + rawCommand + ( const QString & command ) + + + rawCommandReply + rawCommandReply + ( int replyCode, const QString & detail ) + + + read + read + ( char * data, qint64 maxlen ) + + + readAll + readAll + () + + + readyRead + readyRead + () + + + remove + remove + ( const QString & file ) + + + rename + rename + ( const QString & oldname, const QString & newname ) + + + rmdir + rmdir + ( const QString & dir ) + + + setProxy + setProxy + ( const QString & host, quint16 port ) + + + setTransferMode + setTransferMode + ( TransferMode mode ) + + + state + state + () + + + stateChanged + stateChanged + ( int state ) + + + QFtp + QFtp-2 + ( QObject * parent, const char * name ) + + + readBlock + readBlock + ( char * data, quint64 maxlen ) + + + + QGenericArgument + qgenericargument.html + + QGenericArgument + QGenericArgument + ( const char * name = 0, const void * data = 0 ) + + + data + data + () + + + name + name + () + + + + QGenericReturnArgument + qgenericreturnargument.html + + QGenericReturnArgument + QGenericReturnArgument + ( const char * name = 0, void * data = 0 ) + + + + QGLColormap + qglcolormap.html + + QGLColormap + QGLColormap + () + + + QGLColormap + QGLColormap-2 + ( const QGLColormap & map ) + + + entryColor + entryColor + ( int idx ) + + + entryRgb + entryRgb + ( int idx ) + + + find + find + ( QRgb color ) + + + findNearest + findNearest + ( QRgb color ) + + + isEmpty + isEmpty + () + + + setEntries + setEntries + ( int count, const QRgb * colors, int base = 0 ) + + + setEntry + setEntry + ( int idx, QRgb color ) + + + setEntry + setEntry-2 + ( int idx, const QColor & color ) + + + size + size + () + + + operator= + operator-eq + ( const QGLColormap & map ) + + + QGLContext + QGLContext-2 + ( const QGLFormat & format, QPaintDevice * device ) + + + generateFontDisplayLists + generateFontDisplayLists + ( const QFont & font, int listBase ) + + + + QGLContext + qglcontext.html + + QGLContext + QGLContext + ( const QGLFormat & format ) + + + bindTexture + bindTexture + ( const QImage & image, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA ) + + + bindTexture + bindTexture-2 + ( const QString & fileName ) + + + bindTexture + bindTexture-3 + ( const QPixmap & pixmap, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA ) + + + chooseContext + chooseContext + ( const QGLContext * shareContext = 0 ) + + + chooseMacVisual + chooseMacVisual + ( GDHandle handle ) + + + choosePixelFormat + choosePixelFormat + ( void * dummyPfd, HDC pdc ) + + + chooseVisual + chooseVisual + () + + + create + create + ( const QGLContext * shareContext = 0 ) + + + currentContext + currentContext + () + + + deleteTexture + deleteTexture + ( GLuint id ) + + + device + device + () + + + deviceIsPixmap + deviceIsPixmap + () + + + doneCurrent + doneCurrent + () + + + format + format + () + + + getProcAddress + getProcAddress + ( const QString & proc ) + + + initialized + initialized + () + + + isSharing + isSharing + () + + + isValid + isValid + () + + + makeCurrent + makeCurrent + () + + + overlayTransparentColor + overlayTransparentColor + () + + + requestedFormat + requestedFormat + () + + + reset + reset + () + + + setFormat + setFormat + ( const QGLFormat & format ) + + + setInitialized + setInitialized + ( bool on ) + + + setTextureCacheLimit + setTextureCacheLimit + ( int size ) + + + setWindowCreated + setWindowCreated + ( bool on ) + + + swapBuffers + swapBuffers + () + + + textureCacheLimit + textureCacheLimit + () + + + windowCreated + windowCreated + () + + + + QGLFormat + qglformat.html + + QGLFormat + QGLFormat + () + + + QGLFormat + QGLFormat-2 + ( QGL::FormatOptions options, int plane = 0 ) + + + QGLFormat + QGLFormat-3 + ( const QGLFormat & other ) + + + accum + accum + () + + + accumBufferSize + accumBufferSize + () + + + alpha + alpha + () + + + alphaBufferSize + alphaBufferSize + () + + + blueBufferSize + blueBufferSize + () + + + defaultFormat + defaultFormat + () + + + defaultOverlayFormat + defaultOverlayFormat + () + + + depth + depth + () + + + depthBufferSize + depthBufferSize + () + + + directRendering + directRendering + () + + + doubleBuffer + doubleBuffer + () + + + greenBufferSize + greenBufferSize + () + + + hasOpenGL + hasOpenGL + () + + + hasOpenGLOverlays + hasOpenGLOverlays + () + + + hasOverlay + hasOverlay + () + + + openGLVersionFlags + openGLVersionFlags + () + + + plane + plane + () + + + redBufferSize + redBufferSize + () + + + rgba + rgba + () + + + sampleBuffers + sampleBuffers + () + + + samples + samples + () + + + setAccum + setAccum + ( bool enable ) + + + setAccumBufferSize + setAccumBufferSize + ( int size ) + + + setAlpha + setAlpha + ( bool enable ) + + + setAlphaBufferSize + setAlphaBufferSize + ( int size ) + + + setBlueBufferSize + setBlueBufferSize + ( int size ) + + + setDefaultFormat + setDefaultFormat + ( const QGLFormat & f ) + + + setDefaultOverlayFormat + setDefaultOverlayFormat + ( const QGLFormat & f ) + + + setDepth + setDepth + ( bool enable ) + + + setDepthBufferSize + setDepthBufferSize + ( int size ) + + + setDirectRendering + setDirectRendering + ( bool enable ) + + + setDoubleBuffer + setDoubleBuffer + ( bool enable ) + + + setGreenBufferSize + setGreenBufferSize + ( int size ) + + + setOption + setOption + ( QGL::FormatOptions opt ) + + + setOverlay + setOverlay + ( bool enable ) + + + setPlane + setPlane + ( int plane ) + + + setRedBufferSize + setRedBufferSize + ( int size ) + + + setRgba + setRgba + ( bool enable ) + + + setSampleBuffers + setSampleBuffers + ( bool enable ) + + + setSamples + setSamples + ( int numSamples ) + + + setStencil + setStencil + ( bool enable ) + + + setStencilBufferSize + setStencilBufferSize + ( int size ) + + + setStereo + setStereo + ( bool enable ) + + + setSwapInterval + setSwapInterval + ( int interval ) + + + stencil + stencil + () + + + stencilBufferSize + stencilBufferSize + () + + + stereo + stereo + () + + + swapInterval + swapInterval + () + + + testOption + testOption + ( QGL::FormatOptions opt ) + + + operator= + operator-eq + ( const QGLFormat & other ) + + + + QGLFramebufferObject + qglframebufferobject.html + + Attachment + Attachment-enum + + + + QGLFramebufferObject + QGLFramebufferObject + ( const QSize & size, GLenum target = GL_TEXTURE_2D ) + + + QGLFramebufferObject + QGLFramebufferObject-2 + ( int width, int height, GLenum target = GL_TEXTURE_2D ) + + + QGLFramebufferObject + QGLFramebufferObject-3 + ( int width, int height, Attachment attachment, GLenum target = GL_TEXTURE_2D, GLenum internal_format = GL_RGBA8 ) + + + QGLFramebufferObject + QGLFramebufferObject-4 + ( const QSize & size, Attachment attachment, GLenum target = GL_TEXTURE_2D, GLenum internal_format = GL_RGBA8 ) + + + attachment + attachment + () + + + bind + bind + () + + + handle + handle + () + + + hasOpenGLFramebufferObjects + hasOpenGLFramebufferObjects + () + + + isValid + isValid + () + + + release + release + () + + + size + size + () + + + texture + texture + () + + + toImage + toImage + () + + + + QGLPixelBuffer + qglpixelbuffer.html + + QGLPixelBuffer + QGLPixelBuffer + ( const QSize & size, const QGLFormat & format = QGLFormat::defaultFormat() + + + QGLPixelBuffer + QGLPixelBuffer-2 + ( int width, int height, const QGLFormat & format = QGLFormat::defaultFormat() + + + bindTexture + bindTexture + ( const QImage & image, GLenum target = GL_TEXTURE_2D ) + + + bindTexture + bindTexture-2 + ( const QPixmap & pixmap, GLenum target = GL_TEXTURE_2D ) + + + bindTexture + bindTexture-3 + ( const QString & fileName ) + + + bindToDynamicTexture + bindToDynamicTexture + ( GLuint texture_id ) + + + deleteTexture + deleteTexture + ( GLuint texture_id ) + + + doneCurrent + doneCurrent + () + + + format + format + () + + + generateDynamicTexture + generateDynamicTexture + () + + + HANDLE + handle + QGLPixelBuffer::handle() + + + hasOpenGLPbuffers + hasOpenGLPbuffers + () + + + isValid + isValid + () + + + makeCurrent + makeCurrent + () + + + releaseFromDynamicTexture + releaseFromDynamicTexture + () + + + size + size + () + + + toImage + toImage + () + + + updateDynamicTexture + updateDynamicTexture + ( GLuint texture_id ) + + + fontDisplayListBase + fontDisplayListBase + ( const QFont & font, int listBase = 2000 ) + + + setFormat + setFormat + ( const QGLFormat & format ) + + + QGLWidget + QGLWidget-4 + ( QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-5 + ( const QGLFormat & format, QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-6 + ( QGLContext * context, QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + + QGLWidget + qglwidget.html + + QGLWidget + QGLWidget + ( QWidget * parent = 0, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-2 + ( QGLContext * context, QWidget * parent = 0, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-3 + ( const QGLFormat & format, QWidget * parent = 0, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + autoBufferSwap + autoBufferSwap + () + + + bindTexture + bindTexture + ( const QImage & image, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA ) + + + bindTexture + bindTexture-2 + ( const QPixmap & pixmap, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA ) + + + bindTexture + bindTexture-3 + ( const QString & fileName ) + + + colormap + colormap + () + + + context + context + () + + + convertToGLFormat + convertToGLFormat + ( const QImage & img ) + + + deleteTexture + deleteTexture + ( GLuint id ) + + + doneCurrent + doneCurrent + () + + + doubleBuffer + doubleBuffer + () + + + format + format + () + + + glDraw + glDraw + () + + + glInit + glInit + () + + + grabFrameBuffer + grabFrameBuffer + ( bool withAlpha = false ) + + + initializeGL + initializeGL + () + + + initializeOverlayGL + initializeOverlayGL + () + + + isSharing + isSharing + () + + + isValid + isValid + () + + + makeCurrent + makeCurrent + () + + + makeOverlayCurrent + makeOverlayCurrent + () + + + overlayContext + overlayContext + () + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + paintGL + paintGL + () + + + paintOverlayGL + paintOverlayGL + () + + + qglClearColor + qglClearColor + ( const QColor & c ) + + + qglColor + qglColor + ( const QColor & c ) + + + renderPixmap + renderPixmap + ( int w = 0, int h = 0, bool useContext = false ) + + + renderText + renderText + ( int x, int y, const QString & str, const QFont & font = QFont() + + + renderText + renderText-2 + ( double x, double y, double z, const QString & str, const QFont & font = QFont() + + + resizeEvent + resizeEvent + ( QResizeEvent * event ) + + + resizeGL + resizeGL + ( int width, int height ) + + + resizeOverlayGL + resizeOverlayGL + ( int width, int height ) + + + setAutoBufferSwap + setAutoBufferSwap + ( bool on ) + + + setColormap + setColormap + ( const QGLColormap & cmap ) + + + setMouseTracking + setMouseTracking + ( bool enable ) + + + swapBuffers + swapBuffers + () + + + updateGL + updateGL + () + + + updateOverlayGL + updateOverlayGL + () + + + QGLWidget + QGLWidget-4 + ( QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-5 + ( const QGLFormat & format, QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + QGLWidget + QGLWidget-6 + ( QGLContext * context, QWidget * parent, const char * name, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 ) + + + + QGradient + qgradient.html + + Spread + Spread-enum + + + + Type + Type-enum + + + + setColorAt + setColorAt + ( qreal position, const QColor & color ) + + + setSpread + setSpread + ( Spread method ) + + + setStops + setStops + ( const QGradientStops & stopPoints ) + + + spread + spread + () + + + stops + stops + () + + + type + type + () + + + operator!= + operator-not-eq + ( const QGradient & gradient ) + + + operator== + operator-eq-eq + ( const QGradient & gradient ) + + + + QGraphicsEllipseItem + qgraphicsellipseitem.html + + QGraphicsEllipseItem + QGraphicsEllipseItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsEllipseItem + QGraphicsEllipseItem-2 + ( const QRectF & rect, QGraphicsItem * parent = 0 ) + + + QGraphicsEllipseItem + QGraphicsEllipseItem-3 + ( qreal x, qreal y, qreal width, qreal height, QGraphicsItem * parent = 0 ) + + + rect + rect + () + + + setRect + setRect + ( const QRectF & rect ) + + + setRect + setRect-2 + ( qreal x, qreal y, qreal width, qreal height ) + + + setSpanAngle + setSpanAngle + ( int angle ) + + + setStartAngle + setStartAngle + ( int angle ) + + + spanAngle + spanAngle + () + + + startAngle + startAngle + () + + + matrix + matrix + () + + + resetMatrix + resetMatrix + () + + + sceneMatrix + sceneMatrix + () + + + setMatrix + setMatrix + ( const QMatrix & matrix, bool combine = false ) + + + + QGraphicsItem + qgraphicsitem.html + + GraphicsItemChange + GraphicsItemChange-enum + + + + QGraphicsItem + QGraphicsItem + ( QGraphicsItem * parent = 0 ) + + + acceptDrops + acceptDrops + () + + + MouseButtons + acceptedMouseButtons + QGraphicsItem::acceptedMouseButtons() + + + acceptsHoverEvents + acceptsHoverEvents + () + + + advance + advance + ( int phase ) + + + boundingRect + boundingRect + () + + + children + children + () + + + childrenBoundingRect + childrenBoundingRect + () + + + clearFocus + clearFocus + () + + + collidesWithItem + collidesWithItem + ( const QGraphicsItem * other, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + collidesWithPath + collidesWithPath + ( const QPainterPath & path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + collidingItems + collidingItems + ( Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + contains + contains + ( const QPointF & point ) + + + contextMenuEvent + contextMenuEvent + ( QGraphicsSceneContextMenuEvent * event ) + + + cursor + cursor + () + + + data + data + ( int key ) + + + deviceTransform + deviceTransform + ( const QTransform & viewportTransform ) + + + dragEnterEvent + dragEnterEvent + ( QGraphicsSceneDragDropEvent * event ) + + + dragLeaveEvent + dragLeaveEvent + ( QGraphicsSceneDragDropEvent * event ) + + + dragMoveEvent + dragMoveEvent + ( QGraphicsSceneDragDropEvent * event ) + + + dropEvent + dropEvent + ( QGraphicsSceneDragDropEvent * event ) + + + ensureVisible + ensureVisible + ( const QRectF & rect = QRectF() + + + ensureVisible + ensureVisible-2 + ( qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50 ) + + + flags + flags + () + + + focusInEvent + focusInEvent + ( QFocusEvent * event ) + + + focusOutEvent + focusOutEvent + ( QFocusEvent * event ) + + + group + group + () + + + handlesChildEvents + handlesChildEvents + () + + + hasCursor + hasCursor + () + + + hasFocus + hasFocus + () + + + hide + hide + () + + + hoverEnterEvent + hoverEnterEvent + ( QGraphicsSceneHoverEvent * event ) + + + hoverLeaveEvent + hoverLeaveEvent + ( QGraphicsSceneHoverEvent * event ) + + + hoverMoveEvent + hoverMoveEvent + ( QGraphicsSceneHoverEvent * event ) + + + inputMethodEvent + inputMethodEvent + ( QInputMethodEvent * event ) + + + inputMethodQuery + inputMethodQuery + ( Qt::InputMethodQuery query ) + + + installSceneEventFilter + installSceneEventFilter + ( QGraphicsItem * filterItem ) + + + isAncestorOf + isAncestorOf + ( const QGraphicsItem * child ) + + + isEnabled + isEnabled + () + + + isObscured + isObscured + () + + + isObscured + isObscured-2 + ( qreal x, qreal y, qreal w, qreal h ) + + + isObscured + isObscured-3 + ( const QRectF & rect ) + + + isObscuredBy + isObscuredBy + ( const QGraphicsItem * item ) + + + isSelected + isSelected + () + + + isVisible + isVisible + () + + + itemChange + itemChange + ( GraphicsItemChange change, const QVariant & value ) + + + keyPressEvent + keyPressEvent + ( QKeyEvent * event ) + + + keyReleaseEvent + keyReleaseEvent + ( QKeyEvent * event ) + + + mapFromItem + mapFromItem + ( const QGraphicsItem * item, const QPointF & point ) + + + mapFromItem + mapFromItem-2 + ( const QGraphicsItem * item, const QRectF & rect ) + + + mapFromItem + mapFromItem-3 + ( const QGraphicsItem * item, const QPolygonF & polygon ) + + + mapFromItem + mapFromItem-4 + ( const QGraphicsItem * item, const QPainterPath & path ) + + + mapFromItem + mapFromItem-5 + ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) + + + mapFromItem + mapFromItem-6 + ( const QGraphicsItem * item, qreal x, qreal y ) + + + mapFromParent + mapFromParent + ( const QPointF & point ) + + + mapFromParent + mapFromParent-2 + ( const QRectF & rect ) + + + mapFromParent + mapFromParent-3 + ( const QPolygonF & polygon ) + + + mapFromParent + mapFromParent-4 + ( const QPainterPath & path ) + + + mapFromParent + mapFromParent-5 + ( qreal x, qreal y, qreal w, qreal h ) + + + mapFromParent + mapFromParent-6 + ( qreal x, qreal y ) + + + mapFromScene + mapFromScene + ( const QPointF & point ) + + + mapFromScene + mapFromScene-2 + ( const QRectF & rect ) + + + mapFromScene + mapFromScene-3 + ( const QPolygonF & polygon ) + + + mapFromScene + mapFromScene-4 + ( const QPainterPath & path ) + + + mapFromScene + mapFromScene-5 + ( qreal x, qreal y, qreal w, qreal h ) + + + mapFromScene + mapFromScene-6 + ( qreal x, qreal y ) + + + mapToItem + mapToItem + ( const QGraphicsItem * item, const QPointF & point ) + + + mapToItem + mapToItem-2 + ( const QGraphicsItem * item, const QRectF & rect ) + + + mapToItem + mapToItem-3 + ( const QGraphicsItem * item, const QPolygonF & polygon ) + + + mapToItem + mapToItem-4 + ( const QGraphicsItem * item, const QPainterPath & path ) + + + mapToItem + mapToItem-5 + ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) + + + mapToItem + mapToItem-6 + ( const QGraphicsItem * item, qreal x, qreal y ) + + + mapToParent + mapToParent + ( const QPointF & point ) + + + mapToParent + mapToParent-2 + ( const QRectF & rect ) + + + mapToParent + mapToParent-3 + ( const QPolygonF & polygon ) + + + mapToParent + mapToParent-4 + ( const QPainterPath & path ) + + + mapToParent + mapToParent-5 + ( qreal x, qreal y, qreal w, qreal h ) + + + mapToParent + mapToParent-6 + ( qreal x, qreal y ) + + + mapToScene + mapToScene + ( const QPointF & point ) + + + mapToScene + mapToScene-2 + ( const QRectF & rect ) + + + mapToScene + mapToScene-3 + ( const QPolygonF & polygon ) + + + mapToScene + mapToScene-4 + ( const QPainterPath & path ) + + + mapToScene + mapToScene-5 + ( qreal x, qreal y, qreal w, qreal h ) + + + mapToScene + mapToScene-6 + ( qreal x, qreal y ) + + + mouseDoubleClickEvent + mouseDoubleClickEvent + ( QGraphicsSceneMouseEvent * event ) + + + mouseMoveEvent + mouseMoveEvent + ( QGraphicsSceneMouseEvent * event ) + + + mousePressEvent + mousePressEvent + ( QGraphicsSceneMouseEvent * event ) + + + mouseReleaseEvent + mouseReleaseEvent + ( QGraphicsSceneMouseEvent * event ) + + + moveBy + moveBy + ( qreal dx, qreal dy ) + + + opaqueArea + opaqueArea + () + + + paint + paint + ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) + + + parentItem + parentItem + () + + + pos + pos + () + + + prepareGeometryChange + prepareGeometryChange + () + + + removeSceneEventFilter + removeSceneEventFilter + ( QGraphicsItem * filterItem ) + + + resetTransform + resetTransform + () + + + rotate + rotate + ( qreal angle ) + + + scale + scale + ( qreal sx, qreal sy ) + + + scene + scene + () + + + sceneBoundingRect + sceneBoundingRect + () + + + sceneEvent + sceneEvent + ( QEvent * event ) + + + sceneEventFilter + sceneEventFilter + ( QGraphicsItem * watched, QEvent * event ) + + + scenePos + scenePos + () + + + sceneTransform + sceneTransform + () + + + setAcceptDrops + setAcceptDrops + ( bool on ) + + + setAcceptedMouseButtons + setAcceptedMouseButtons + ( Qt::MouseButtons buttons ) + + + setAcceptsHoverEvents + setAcceptsHoverEvents + ( bool enabled ) + + + setCursor + setCursor + ( const QCursor & cursor ) + + + setData + setData + ( int key, const QVariant & value ) + + + setEnabled + setEnabled + ( bool enabled ) + + + setFlag + setFlag + ( GraphicsItemFlag flag, bool enabled = true ) + + + setFlags + setFlags + ( GraphicsItemFlags flags ) + + + setFocus + setFocus + ( Qt::FocusReason focusReason = Qt::OtherFocusReason ) + + + setGroup + setGroup + ( QGraphicsItemGroup * group ) + + + setHandlesChildEvents + setHandlesChildEvents + ( bool enabled ) + + + setParentItem + setParentItem + ( QGraphicsItem * parent ) + + + setPos + setPos + ( const QPointF & pos ) + + + setPos + setPos-2 + ( qreal x, qreal y ) + + + setSelected + setSelected + ( bool selected ) + + + setToolTip + setToolTip + ( const QString & toolTip ) + + + setTransform + setTransform + ( const QTransform & matrix, bool combine = false ) + + + setVisible + setVisible + ( bool visible ) + + + setZValue + setZValue + ( qreal z ) + + + shape + shape + () + + + shear + shear + ( qreal sh, qreal sv ) + + + show + show + () + + + toolTip + toolTip + () + + + topLevelItem + topLevelItem + () + + + transform + transform + () + + + translate + translate + ( qreal dx, qreal dy ) + + + type + type + () + + + unsetCursor + unsetCursor + () + + + update + update + ( const QRectF & rect = QRectF() + + + update + update-2 + ( qreal x, qreal y, qreal width, qreal height ) + + + wheelEvent + wheelEvent + ( QGraphicsSceneWheelEvent * event ) + + + x + x + () + + + y + y + () + + + zValue + zValue + () + + + UserType + UserType-var + + + + + QGraphicsItemAnimation + qgraphicsitemanimation.html + + QGraphicsItemAnimation + QGraphicsItemAnimation + ( QObject * parent = 0 ) + + + afterAnimationStep + afterAnimationStep + ( qreal step ) + + + beforeAnimationStep + beforeAnimationStep + ( qreal step ) + + + clear + clear + () + + + horizontalScaleAt + horizontalScaleAt + ( qreal step ) + + + horizontalShearAt + horizontalShearAt + ( qreal step ) + + + item + item + () + + + matrixAt + matrixAt + ( qreal step ) + + + posAt + posAt + ( qreal step ) + + + posList + posList + () + + + reset + reset + () + + + rotationAt + rotationAt + ( qreal step ) + + + rotationList + rotationList + () + + + scaleList + scaleList + () + + + setItem + setItem + ( QGraphicsItem * item ) + + + setPosAt + setPosAt + ( qreal step, const QPointF & point ) + + + setRotationAt + setRotationAt + ( qreal step, qreal angle ) + + + setScaleAt + setScaleAt + ( qreal step, qreal sx, qreal sy ) + + + setShearAt + setShearAt + ( qreal step, qreal sh, qreal sv ) + + + setStep + setStep + ( qreal step ) + + + setTimeLine + setTimeLine + ( QTimeLine * timeLine ) + + + setTranslationAt + setTranslationAt + ( qreal step, qreal dx, qreal dy ) + + + shearList + shearList + () + + + timeLine + timeLine + () + + + translationList + translationList + () + + + verticalScaleAt + verticalScaleAt + ( qreal step ) + + + verticalShearAt + verticalShearAt + ( qreal step ) + + + xTranslationAt + xTranslationAt + ( qreal step ) + + + yTranslationAt + yTranslationAt + ( qreal step ) + + + + QGraphicsItemGroup + qgraphicsitemgroup.html + + QGraphicsItemGroup + QGraphicsItemGroup + ( QGraphicsItem * parent = 0 ) + + + addToGroup + addToGroup + ( QGraphicsItem * item ) + + + removeFromGroup + removeFromGroup + ( QGraphicsItem * item ) + + + + QGraphicsLineItem + qgraphicslineitem.html + + QGraphicsLineItem + QGraphicsLineItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsLineItem + QGraphicsLineItem-2 + ( const QLineF & line, QGraphicsItem * parent = 0 ) + + + QGraphicsLineItem + QGraphicsLineItem-3 + ( qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem * parent = 0 ) + + + line + line + () + + + pen + pen + () + + + setLine + setLine + ( const QLineF & line ) + + + setLine + setLine-2 + ( qreal x1, qreal y1, qreal x2, qreal y2 ) + + + setPen + setPen + ( const QPen & pen ) + + + + QGraphicsPathItem + qgraphicspathitem.html + + QGraphicsPathItem + QGraphicsPathItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsPathItem + QGraphicsPathItem-2 + ( const QPainterPath & path, QGraphicsItem * parent = 0 ) + + + path + path + () + + + setPath + setPath + ( const QPainterPath & path ) + + + + QGraphicsPixmapItem + qgraphicspixmapitem.html + + ShapeMode + ShapeMode-enum + + + + QGraphicsPixmapItem + QGraphicsPixmapItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsPixmapItem + QGraphicsPixmapItem-2 + ( const QPixmap & pixmap, QGraphicsItem * parent = 0 ) + + + offset + offset + () + + + pixmap + pixmap + () + + + setOffset + setOffset + ( const QPointF & offset ) + + + setOffset + setOffset-2 + ( qreal x, qreal y ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + setShapeMode + setShapeMode + ( ShapeMode mode ) + + + setTransformationMode + setTransformationMode + ( Qt::TransformationMode mode ) + + + shapeMode + shapeMode + () + + + TransformationMode + transformationMode + QGraphicsPixmapItem::transformationMode() + + + + QGraphicsPolygonItem + qgraphicspolygonitem.html + + QGraphicsPolygonItem + QGraphicsPolygonItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsPolygonItem + QGraphicsPolygonItem-2 + ( const QPolygonF & polygon, QGraphicsItem * parent = 0 ) + + + FillRule + fillRule + QGraphicsPolygonItem::fillRule() + + + polygon + polygon + () + + + setFillRule + setFillRule + ( Qt::FillRule rule ) + + + setPolygon + setPolygon + ( const QPolygonF & polygon ) + + + + QGraphicsRectItem + qgraphicsrectitem.html + + QGraphicsRectItem + QGraphicsRectItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsRectItem + QGraphicsRectItem-2 + ( const QRectF & rect, QGraphicsItem * parent = 0 ) + + + QGraphicsRectItem + QGraphicsRectItem-3 + ( qreal x, qreal y, qreal width, qreal height, QGraphicsItem * parent = 0 ) + + + rect + rect + () + + + setRect + setRect + ( const QRectF & rectangle ) + + + setRect + setRect-2 + ( qreal x, qreal y, qreal width, qreal height ) + + + + QGraphicsScene + qgraphicsscene.html + + ItemIndexMethod + ItemIndexMethod-enum + + + + QGraphicsScene + QGraphicsScene + ( QObject * parent = 0 ) + + + QGraphicsScene + QGraphicsScene-2 + ( const QRectF & sceneRect, QObject * parent = 0 ) + + + QGraphicsScene + QGraphicsScene-3 + ( qreal x, qreal y, qreal width, qreal height, QObject * parent = 0 ) + + + addEllipse + addEllipse + ( const QRectF & rect, const QPen & pen = QPen() + + + addEllipse + addEllipse-2 + ( qreal x, qreal y, qreal w, qreal h, const QPen & pen = QPen() + + + addItem + addItem + ( QGraphicsItem * item ) + + + addLine + addLine + ( const QLineF & line, const QPen & pen = QPen() + + + addLine + addLine-2 + ( qreal x1, qreal y1, qreal x2, qreal y2, const QPen & pen = QPen() + + + addPath + addPath + ( const QPainterPath & path, const QPen & pen = QPen() + + + addPixmap + addPixmap + ( const QPixmap & pixmap ) + + + addPolygon + addPolygon + ( const QPolygonF & polygon, const QPen & pen = QPen() + + + addRect + addRect + ( const QRectF & rect, const QPen & pen = QPen() + + + addRect + addRect-2 + ( qreal x, qreal y, qreal w, qreal h, const QPen & pen = QPen() + + + addSimpleText + addSimpleText + ( const QString & text, const QFont & font = QFont() + + + addText + addText + ( const QString & text, const QFont & font = QFont() + + + advance + advance + () + + + changed + changed + ( const QList<QRectF> & region ) + + + clearFocus + clearFocus + () + + + clearSelection + clearSelection + () + + + collidingItems + collidingItems + ( const QGraphicsItem * item, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + contextMenuEvent + contextMenuEvent + ( QGraphicsSceneContextMenuEvent * contextMenuEvent ) + + + createItemGroup + createItemGroup + ( const QList<QGraphicsItem *> & items ) + + + destroyItemGroup + destroyItemGroup + ( QGraphicsItemGroup * group ) + + + dragEnterEvent + dragEnterEvent + ( QGraphicsSceneDragDropEvent * event ) + + + dragLeaveEvent + dragLeaveEvent + ( QGraphicsSceneDragDropEvent * event ) + + + dragMoveEvent + dragMoveEvent + ( QGraphicsSceneDragDropEvent * event ) + + + drawBackground + drawBackground + ( QPainter * painter, const QRectF & rect ) + + + drawForeground + drawForeground + ( QPainter * painter, const QRectF & rect ) + + + drawItems + drawItems + ( QPainter * painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options, QWidget * widget = 0 ) + + + dropEvent + dropEvent + ( QGraphicsSceneDragDropEvent * event ) + + + event + event + ( QEvent * event ) + + + focusInEvent + focusInEvent + ( QFocusEvent * focusEvent ) + + + focusItem + focusItem + () + + + focusOutEvent + focusOutEvent + ( QFocusEvent * focusEvent ) + + + hasFocus + hasFocus + () + + + height + height + () + + + helpEvent + helpEvent + ( QGraphicsSceneHelpEvent * helpEvent ) + + + inputMethodEvent + inputMethodEvent + ( QInputMethodEvent * event ) + + + inputMethodQuery + inputMethodQuery + ( Qt::InputMethodQuery query ) + + + invalidate + invalidate + ( qreal x, qreal y, qreal w, qreal h, SceneLayers layers = AllLayers ) + + + invalidate + invalidate-2 + ( const QRectF & rect = QRectF() + + + itemAt + itemAt + ( const QPointF & position ) + + + itemAt + itemAt-2 + ( qreal x, qreal y ) + + + items + items + () + + + items + items-2 + ( const QPointF & pos ) + + + items + items-3 + ( qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-4 + ( const QRectF & rectangle, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-5 + ( const QPolygonF & polygon, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-6 + ( const QPainterPath & path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + itemsBoundingRect + itemsBoundingRect + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * keyEvent ) + + + keyReleaseEvent + keyReleaseEvent + ( QKeyEvent * keyEvent ) + + + mouseDoubleClickEvent + mouseDoubleClickEvent + ( QGraphicsSceneMouseEvent * mouseEvent ) + + + mouseGrabberItem + mouseGrabberItem + () + + + mouseMoveEvent + mouseMoveEvent + ( QGraphicsSceneMouseEvent * mouseEvent ) + + + mousePressEvent + mousePressEvent + ( QGraphicsSceneMouseEvent * mouseEvent ) + + + mouseReleaseEvent + mouseReleaseEvent + ( QGraphicsSceneMouseEvent * mouseEvent ) + + + removeItem + removeItem + ( QGraphicsItem * item ) + + + render + render + ( QPainter * painter, const QRectF & target = QRectF() + + + sceneRectChanged + sceneRectChanged + ( const QRectF & rect ) + + + selectedItems + selectedItems + () + + + selectionArea + selectionArea + () + + + selectionChanged + selectionChanged + () + + + setFocus + setFocus + ( Qt::FocusReason focusReason = Qt::OtherFocusReason ) + + + setFocusItem + setFocusItem + ( QGraphicsItem * item, Qt::FocusReason focusReason = Qt::OtherFocusReason ) + + + setSelectionArea + setSelectionArea + ( const QPainterPath & path ) + + + setSelectionArea + setSelectionArea-2 + ( const QPainterPath & path, Qt::ItemSelectionMode mode ) + + + update + update + ( qreal x, qreal y, qreal w, qreal h ) + + + update + update-2 + ( const QRectF & rect = QRectF() + + + views + views + () + + + wheelEvent + wheelEvent + ( QGraphicsSceneWheelEvent * wheelEvent ) + + + width + width + () + + + + QGraphicsSceneContextMenuEvent + qgraphicsscenecontextmenuevent.html + + Reason + Reason-enum + + + + KeyboardModifiers + modifiers + QGraphicsSceneContextMenuEvent::modifiers() + + + pos + pos + () + + + reason + reason + () + + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + + QGraphicsSceneDragDropEvent + qgraphicsscenedragdropevent.html + + acceptProposedAction + acceptProposedAction + () + + + MouseButtons + buttons + QGraphicsSceneDragDropEvent::buttons() + + + DropAction + dropAction + QGraphicsSceneDragDropEvent::dropAction() + + + mimeData + mimeData + () + + + KeyboardModifiers + modifiers + QGraphicsSceneDragDropEvent::modifiers() + + + pos + pos + () + + + DropActions + possibleActions + QGraphicsSceneDragDropEvent::possibleActions() + + + DropAction + proposedAction + QGraphicsSceneDragDropEvent::proposedAction() + + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + setDropAction + setDropAction + ( Qt::DropAction action ) + + + source + source + () + + + + QGraphicsSceneEvent + qgraphicssceneevent.html + + widget + widget + () + + + + QGraphicsSceneHelpEvent + qgraphicsscenehelpevent.html + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + + QGraphicsSceneHoverEvent + qgraphicsscenehoverevent.html + + pos + pos + () + + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + + QGraphicsSceneMouseEvent + qgraphicsscenemouseevent.html + + MouseButton + button + QGraphicsSceneMouseEvent::button() + + + buttonDownPos + buttonDownPos + ( Qt::MouseButton button ) + + + buttonDownScenePos + buttonDownScenePos + ( Qt::MouseButton button ) + + + buttonDownScreenPos + buttonDownScreenPos + ( Qt::MouseButton button ) + + + MouseButtons + buttons + QGraphicsSceneMouseEvent::buttons() + + + lastPos + lastPos + () + + + lastScenePos + lastScenePos + () + + + lastScreenPos + lastScreenPos + () + + + KeyboardModifiers + modifiers + QGraphicsSceneMouseEvent::modifiers() + + + pos + pos + () + + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + + QGraphicsSceneWheelEvent + qgraphicsscenewheelevent.html + + MouseButtons + buttons + QGraphicsSceneWheelEvent::buttons() + + + delta + delta + () + + + KeyboardModifiers + modifiers + QGraphicsSceneWheelEvent::modifiers() + + + Orientation + orientation + QGraphicsSceneWheelEvent::orientation() + + + pos + pos + () + + + scenePos + scenePos + () + + + screenPos + screenPos + () + + + + QGraphicsSimpleTextItem + qgraphicssimpletextitem.html + + QGraphicsSimpleTextItem + QGraphicsSimpleTextItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsSimpleTextItem + QGraphicsSimpleTextItem-2 + ( const QString & text, QGraphicsItem * parent = 0 ) + + + font + font + () + + + setFont + setFont + ( const QFont & font ) + + + setText + setText + ( const QString & text ) + + + text + text + () + + + + QGraphicsSvgItem + qgraphicssvgitem.html + + QGraphicsSvgItem + QGraphicsSvgItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsSvgItem + QGraphicsSvgItem-2 + ( const QString & fileName, QGraphicsItem * parent = 0 ) + + + boundingRect + boundingRect + () + + + elementId + elementId + () + + + isCachingEnabled + isCachingEnabled + () + + + maximumCacheSize + maximumCacheSize + () + + + renderer + renderer + () + + + setCachingEnabled + setCachingEnabled + ( bool caching ) + + + setElementId + setElementId + ( const QString & id ) + + + setMaximumCacheSize + setMaximumCacheSize + ( const QSize & size ) + + + setSharedRenderer + setSharedRenderer + ( QSvgRenderer * renderer ) + + + + QGraphicsTextItem + qgraphicstextitem.html + + QGraphicsTextItem + QGraphicsTextItem + ( QGraphicsItem * parent = 0 ) + + + QGraphicsTextItem + QGraphicsTextItem-2 + ( const QString & text, QGraphicsItem * parent = 0 ) + + + adjustSize + adjustSize + () + + + defaultTextColor + defaultTextColor + () + + + document + document + () + + + font + font + () + + + linkActivated + linkActivated + ( const QString & link ) + + + linkHovered + linkHovered + ( const QString & link ) + + + setDefaultTextColor + setDefaultTextColor + ( const QColor & col ) + + + setDocument + setDocument + ( QTextDocument * document ) + + + setFont + setFont + ( const QFont & font ) + + + setHtml + setHtml + ( const QString & text ) + + + setPlainText + setPlainText + ( const QString & text ) + + + setTextInteractionFlags + setTextInteractionFlags + ( Qt::TextInteractionFlags flags ) + + + setTextWidth + setTextWidth + ( qreal width ) + + + TextInteractionFlags + textInteractionFlags + QGraphicsTextItem::textInteractionFlags() + + + textWidth + textWidth + () + + + toHtml + toHtml + () + + + toPlainText + toPlainText + () + + + + QGraphicsView + qgraphicsview.html + + DragMode + DragMode-enum + + + + ViewportAnchor + ViewportAnchor-enum + + + + ViewportUpdateMode + ViewportUpdateMode-enum + + + + Alignment + alignment-prop + + + + RenderHints + renderHints-prop + + + + ItemSelectionMode + rubberBandSelectionMode-prop + + + + QGraphicsView + QGraphicsView + ( QWidget * parent = 0 ) + + + QGraphicsView + QGraphicsView-2 + ( QGraphicsScene * scene, QWidget * parent = 0 ) + + + centerOn + centerOn + ( const QPointF & pos ) + + + centerOn + centerOn-2 + ( qreal x, qreal y ) + + + centerOn + centerOn-3 + ( const QGraphicsItem * item ) + + + drawBackground + drawBackground + ( QPainter * painter, const QRectF & rect ) + + + drawForeground + drawForeground + ( QPainter * painter, const QRectF & rect ) + + + drawItems + drawItems + ( QPainter * painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options ) + + + ensureVisible + ensureVisible + ( const QRectF & rect, int xmargin = 50, int ymargin = 50 ) + + + ensureVisible + ensureVisible-2 + ( qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50 ) + + + ensureVisible + ensureVisible-3 + ( const QGraphicsItem * item, int xmargin = 50, int ymargin = 50 ) + + + fitInView + fitInView + ( const QRectF & rect, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio ) + + + fitInView + fitInView-2 + ( qreal x, qreal y, qreal w, qreal h, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio ) + + + fitInView + fitInView-3 + ( const QGraphicsItem * item, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio ) + + + invalidateScene + invalidateScene + ( const QRectF & rect = QRectF() + + + itemAt + itemAt + ( const QPoint & pos ) + + + itemAt + itemAt-2 + ( int x, int y ) + + + items + items + () + + + items + items-2 + ( const QPoint & pos ) + + + items + items-3 + ( int x, int y ) + + + items + items-4 + ( int x, int y, int w, int h, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-5 + ( const QRect & rect, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-6 + ( const QPolygon & polygon, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + items + items-7 + ( const QPainterPath & path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) + + + mapFromScene + mapFromScene + ( const QPointF & point ) + + + mapFromScene + mapFromScene-2 + ( const QRectF & rect ) + + + mapFromScene + mapFromScene-3 + ( const QPolygonF & polygon ) + + + mapFromScene + mapFromScene-4 + ( const QPainterPath & path ) + + + mapFromScene + mapFromScene-5 + ( qreal x, qreal y ) + + + mapFromScene + mapFromScene-6 + ( qreal x, qreal y, qreal w, qreal h ) + + + mapToScene + mapToScene + ( const QPoint & point ) + + + mapToScene + mapToScene-2 + ( const QRect & rect ) + + + mapToScene + mapToScene-3 + ( const QPolygon & polygon ) + + + mapToScene + mapToScene-4 + ( const QPainterPath & path ) + + + mapToScene + mapToScene-5 + ( int x, int y ) + + + mapToScene + mapToScene-6 + ( int x, int y, int w, int h ) + + + matrix + matrix + () + + + render + render + ( QPainter * painter, const QRectF & target = QRectF() + + + resetCachedContent + resetCachedContent + () + + + resetMatrix + resetMatrix + () + + + resetTransform + resetTransform + () + + + rotate + rotate + ( qreal angle ) + + + scale + scale + ( qreal sx, qreal sy ) + + + scene + scene + () + + + setMatrix + setMatrix + ( const QMatrix & matrix, bool combine = false ) + + + setOptimizationFlag + setOptimizationFlag + ( OptimizationFlag flag, bool enabled = true ) + + + setRenderHint + setRenderHint + ( QPainter::RenderHint hint, bool enabled = true ) + + + setScene + setScene + ( QGraphicsScene * scene ) + + + setTransform + setTransform + ( const QTransform & matrix, bool combine = false ) + + + setupViewport + setupViewport + ( QWidget * widget ) + + + shear + shear + ( qreal sh, qreal sv ) + + + transform + transform + () + + + translate + translate + ( qreal dx, qreal dy ) + + + updateScene + updateScene + ( const QList<QRectF> & rects ) + + + updateSceneRect + updateSceneRect + ( const QRectF & rect ) + + + viewportTransform + viewportTransform + () + + + QGridLayout + QGridLayout-3 + ( QWidget * parent, int nRows, int nCols = 1, int margin = 0, int space = -1, const char * name = 0 ) + + + QGridLayout + QGridLayout-4 + ( int nRows, int nCols = 1, int spacing = -1, const char * name = 0 ) + + + QGridLayout + QGridLayout-5 + ( QLayout * parentLayout, int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 ) + + + addColSpacing + addColSpacing + ( int col, int minsize ) + + + addMultiCell + addMultiCell + ( QLayoutItem * l, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addMultiCellLayout + addMultiCellLayout + ( QLayout * layout, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addMultiCellWidget + addMultiCellWidget + ( QWidget * widget, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addRowSpacing + addRowSpacing + ( int row, int minsize ) + + + cellGeometry + cellGeometry + ( int row, int column ) + + + colSpacing + colSpacing + ( int col ) + + + colStretch + colStretch + ( int col ) + + + expand + expand + ( int nRows, int nCols ) + + + findWidget + findWidget + ( QWidget * w, int * row, int * column ) + + + numCols + numCols + () + + + numRows + numRows + () + + + Corner + origin + QGridLayout::origin() + + + rowSpacing + rowSpacing + ( int row ) + + + setColSpacing + setColSpacing + ( int col, int minSize ) + + + setColStretch + setColStretch + ( int col, int stretch ) + + + setOrigin + setOrigin + ( Qt::Corner corner ) + + + setRowSpacing + setRowSpacing + ( int row, int minSize ) + + + + QGridLayout + qgridlayout.html + + QGridLayout + QGridLayout + ( QWidget * parent ) + + + QGridLayout + QGridLayout-2 + () + + + addItem + addItem + ( QLayoutItem * item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = 0 ) + + + addLayout + addLayout + ( QLayout * layout, int row, int column, Qt::Alignment alignment = 0 ) + + + addLayout + addLayout-2 + ( QLayout * layout, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 ) + + + addWidget + addWidget + ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 ) + + + addWidget + addWidget-2 + ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 ) + + + cellRect + cellRect + ( int row, int column ) + + + columnCount + columnCount + () + + + columnMinimumWidth + columnMinimumWidth + ( int column ) + + + columnStretch + columnStretch + ( int column ) + + + getItemPosition + getItemPosition + ( int index, int * row, int * column, int * rowSpan, int * columnSpan ) + + + Corner + originCorner + QGridLayout::originCorner() + + + rowCount + rowCount + () + + + rowMinimumHeight + rowMinimumHeight + ( int row ) + + + rowStretch + rowStretch + ( int row ) + + + setColumnMinimumWidth + setColumnMinimumWidth + ( int column, int minSize ) + + + setColumnStretch + setColumnStretch + ( int column, int stretch ) + + + setOriginCorner + setOriginCorner + ( Qt::Corner corner ) + + + setRowMinimumHeight + setRowMinimumHeight + ( int row, int minSize ) + + + setRowStretch + setRowStretch + ( int row, int stretch ) + + + setSpacing + setSpacing + ( int spacing ) + + + spacing + spacing + () + + + QGridLayout + QGridLayout-3 + ( QWidget * parent, int nRows, int nCols = 1, int margin = 0, int space = -1, const char * name = 0 ) + + + QGridLayout + QGridLayout-4 + ( int nRows, int nCols = 1, int spacing = -1, const char * name = 0 ) + + + QGridLayout + QGridLayout-5 + ( QLayout * parentLayout, int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 ) + + + addColSpacing + addColSpacing + ( int col, int minsize ) + + + addMultiCell + addMultiCell + ( QLayoutItem * l, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addMultiCellLayout + addMultiCellLayout + ( QLayout * layout, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addMultiCellWidget + addMultiCellWidget + ( QWidget * widget, int fromRow, int toRow, int fromCol, int toCol, Qt::Alignment align = 0 ) + + + addRowSpacing + addRowSpacing + ( int row, int minsize ) + + + cellGeometry + cellGeometry + ( int row, int column ) + + + colSpacing + colSpacing + ( int col ) + + + colStretch + colStretch + ( int col ) + + + expand + expand + ( int nRows, int nCols ) + + + findWidget + findWidget + ( QWidget * w, int * row, int * column ) + + + numCols + numCols + () + + + numRows + numRows + () + + + Corner + origin + QGridLayout::origin() + + + rowSpacing + rowSpacing + ( int row ) + + + setColSpacing + setColSpacing + ( int col, int minSize ) + + + setColStretch + setColStretch + ( int col, int stretch ) + + + setOrigin + setOrigin + ( Qt::Corner corner ) + + + setRowSpacing + setRowSpacing + ( int row, int minSize ) + + + QGroupBox + QGroupBox-3 + ( QWidget * parent, const char * name ) + + + QGroupBox + QGroupBox-4 + ( const QString & title, QWidget * parent, const char * name ) + + + + QGroupBox + qgroupbox.html + + Alignment + alignment-prop + + + + QGroupBox + QGroupBox + ( QWidget * parent = 0 ) + + + QGroupBox + QGroupBox-2 + ( const QString & title, QWidget * parent = 0 ) + + + clicked + clicked + ( bool checked = false ) + + + initStyleOption + initStyleOption + ( QStyleOptionGroupBox * option ) + + + toggled + toggled + ( bool on ) + + + QGroupBox + QGroupBox-3 + ( QWidget * parent, const char * name ) + + + QGroupBox + QGroupBox-4 + ( const QString & title, QWidget * parent, const char * name ) + + + + QHash::const_iterator + qhash-const-iterator.html + + const_iterator + const_iterator + () + + + const_iterator + const_iterator-3 + ( const iterator & other ) + + + key + key + () + + + value + value + () + + + operator!= + operator-not-eq + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator== + operator-eq-eq + ( const const_iterator & other ) + + + + QHash::iterator + qhash-iterator.html + + iterator + iterator + () + + + key + key + () + + + value + value + () + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator!= + operator-not-eq-2 + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator== + operator-eq-eq + ( const iterator & other ) + + + operator== + operator-eq-eq-2 + ( const const_iterator & other ) + + + + QHash + qhash.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + difference_type + difference_type-typedef + + + + key_type + key_type-typedef + + + + mapped_type + mapped_type-typedef + + + + size_type + size_type-typedef + + + + QHash + QHash + () + + + QHash + QHash-2 + ( const QHash<Key, T> & other ) + + + begin + begin + () + + + begin + begin-2 + () + + + capacity + capacity + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constEnd + constEnd + () + + + constFind + constFind + ( const Key & key ) + + + contains + contains + ( const Key & key ) + + + count + count + ( const Key & key ) + + + count + count-2 + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + find + find + ( const Key & key ) + + + find + find-2 + ( const Key & key ) + + + insert + insert + ( const Key & key, const T & value ) + + + insertMulti + insertMulti + ( const Key & key, const T & value ) + + + isEmpty + isEmpty + () + + + key + key + ( const T & value ) + + + key + key-2 + ( const T & value, const Key & defaultKey ) + + + keys + keys + () + + + keys + keys-2 + ( const T & value ) + + + remove + remove + ( const Key & key ) + + + reserve + reserve + ( int size ) + + + size + size + () + + + squeeze + squeeze + () + + + take + take + ( const Key & key ) + + + uniqueKeys + uniqueKeys + () + + + unite + unite + ( const QHash<Key, T> & other ) + + + value + value + ( const Key & key ) + + + value + value-2 + ( const Key & key, const T & defaultValue ) + + + values + values + () + + + values + values-2 + ( const Key & key ) + + + operator!= + operator-not-eq + ( const QHash<Key, T> & other ) + + + operator= + operator-eq + ( const QHash<Key, T> & other ) + + + operator== + operator-eq-eq + ( const QHash<Key, T> & other ) + + + operator[] + operator-5b-5d + ( const Key & key ) + + + operator[] + operator-5b-5d-2 + ( const Key & key ) + + + + QHashIterator + qhashiterator.html + + QHashIterator + QHashIterator + ( const QHash<Key, T> & hash ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + key + key + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + operator= + operator-eq + ( const QHash<Key, T> & hash ) + + + QHBoxLayout + QHBoxLayout-3 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QHBoxLayout + QHBoxLayout-4 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QHBoxLayout + QHBoxLayout-5 + ( int spacing, const char * name = 0 ) + + + + QHBoxLayout + qhboxlayout.html + + QHBoxLayout + QHBoxLayout + () + + + QHBoxLayout + QHBoxLayout-2 + ( QWidget * parent ) + + + QHBoxLayout + QHBoxLayout-3 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QHBoxLayout + QHBoxLayout-4 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QHBoxLayout + QHBoxLayout-5 + ( int spacing, const char * name = 0 ) + + + + QHeaderView + qheaderview.html + + ResizeMode + ResizeMode-enum + + + + Alignment + defaultAlignment-prop + + + + QHeaderView + QHeaderView + ( Qt::Orientation orientation, QWidget * parent = 0 ) + + + count + count + () + + + geometriesChanged + geometriesChanged + () + + + headerDataChanged + headerDataChanged + ( Qt::Orientation orientation, int logicalFirst, int logicalLast ) + + + hiddenSectionCount + hiddenSectionCount + () + + + hideSection + hideSection + ( int logicalIndex ) + + + horizontalOffset + horizontalOffset + () + + + initStyleOption + initStyleOption + ( QStyleOptionHeader * option ) + + + isClickable + isClickable + () + + + isMovable + isMovable + () + + + isSectionHidden + isSectionHidden + ( int logicalIndex ) + + + length + length + () + + + logicalIndex + logicalIndex + ( int visualIndex ) + + + logicalIndexAt + logicalIndexAt + ( int position ) + + + logicalIndexAt + logicalIndexAt-2 + ( int x, int y ) + + + logicalIndexAt + logicalIndexAt-3 + ( const QPoint & pos ) + + + moveSection + moveSection + ( int from, int to ) + + + offset + offset + () + + + Orientation + orientation + QHeaderView::orientation() + + + paintSection + paintSection + ( QPainter * painter, const QRect & rect, int logicalIndex ) + + + resizeMode + resizeMode + ( int logicalIndex ) + + + resizeSection + resizeSection + ( int logicalIndex, int size ) + + + resizeSections + resizeSections + ( QHeaderView::ResizeMode mode ) + + + resizeSections + resizeSections-2 + () + + + restoreState + restoreState + ( const QByteArray & state ) + + + saveState + saveState + () + + + sectionAutoResize + sectionAutoResize + ( int logicalIndex, QHeaderView::ResizeMode mode ) + + + sectionClicked + sectionClicked + ( int logicalIndex ) + + + sectionCountChanged + sectionCountChanged + ( int oldCount, int newCount ) + + + sectionDoubleClicked + sectionDoubleClicked + ( int logicalIndex ) + + + sectionEntered + sectionEntered + ( int logicalIndex ) + + + sectionHandleDoubleClicked + sectionHandleDoubleClicked + ( int logicalIndex ) + + + sectionMoved + sectionMoved + ( int logicalIndex, int oldVisualIndex, int newVisualIndex ) + + + sectionPosition + sectionPosition + ( int logicalIndex ) + + + sectionPressed + sectionPressed + ( int logicalIndex ) + + + sectionResized + sectionResized + ( int logicalIndex, int oldSize, int newSize ) + + + sectionSize + sectionSize + ( int logicalIndex ) + + + sectionSizeFromContents + sectionSizeFromContents + ( int logicalIndex ) + + + sectionSizeHint + sectionSizeHint + ( int logicalIndex ) + + + sectionViewportPosition + sectionViewportPosition + ( int logicalIndex ) + + + sectionsAboutToBeRemoved + sectionsAboutToBeRemoved + ( const QModelIndex & parent, int logicalFirst, int logicalLast ) + + + sectionsHidden + sectionsHidden + () + + + sectionsInserted + sectionsInserted + ( const QModelIndex & parent, int logicalFirst, int logicalLast ) + + + sectionsMoved + sectionsMoved + () + + + setClickable + setClickable + ( bool clickable ) + + + setMovable + setMovable + ( bool movable ) + + + setOffset + setOffset + ( int offset ) + + + setOffsetToLastSection + setOffsetToLastSection + () + + + setOffsetToSectionPosition + setOffsetToSectionPosition + ( int visualIndex ) + + + setResizeMode + setResizeMode + ( ResizeMode mode ) + + + setResizeMode + setResizeMode-2 + ( int logicalIndex, ResizeMode mode ) + + + setSectionHidden + setSectionHidden + ( int logicalIndex, bool hide ) + + + setSortIndicator + setSortIndicator + ( int logicalIndex, Qt::SortOrder order ) + + + showSection + showSection + ( int logicalIndex ) + + + sizeHint + sizeHint + () + + + sortIndicatorChanged + sortIndicatorChanged + ( int logicalIndex, Qt::SortOrder order ) + + + SortOrder + sortIndicatorOrder + QHeaderView::sortIndicatorOrder() + + + sortIndicatorSection + sortIndicatorSection + () + + + stretchSectionCount + stretchSectionCount + () + + + swapSections + swapSections + ( int first, int second ) + + + verticalOffset + verticalOffset + () + + + visualIndex + visualIndex + ( int logicalIndex ) + + + visualIndexAt + visualIndexAt + ( int position ) + + + + QHelpEvent + qhelpevent.html + + QHelpEvent + QHelpEvent + ( Type type, const QPoint & pos, const QPoint & globalPos ) + + + globalPos + globalPos + () + + + globalX + globalX + () + + + globalY + globalY + () + + + pos + pos + () + + + x + x + () + + + y + y + () + + + + QHideEvent + qhideevent.html + + QHideEvent + QHideEvent + () + + + ip4Addr + ip4Addr + () + + + isIPv4Address + isIPv4Address + () + + + isIPv6Address + isIPv6Address + () + + + isIp4Addr + isIp4Addr + () + + + + QHostAddress + qhostaddress.html + + SpecialAddress + SpecialAddress-enum + + + + QHostAddress + QHostAddress + () + + + QHostAddress + QHostAddress-2 + ( quint32 ip4Addr ) + + + QHostAddress + QHostAddress-3 + ( quint8 * ip6Addr ) + + + QHostAddress + QHostAddress-4 + ( const Q_IPV6ADDR & ip6Addr ) + + + QHostAddress + QHostAddress-5 + ( const sockaddr * sockaddr ) + + + QHostAddress + QHostAddress-6 + ( const QString & address ) + + + QHostAddress + QHostAddress-7 + ( const QHostAddress & address ) + + + QHostAddress + QHostAddress-8 + ( SpecialAddress address ) + + + clear + clear + () + + + isNull + isNull + () + + + NetworkLayerProtocol + protocol + QHostAddress::protocol() + + + scopeId + scopeId + () + + + setAddress + setAddress + ( quint32 ip4Addr ) + + + setAddress + setAddress-2 + ( quint8 * ip6Addr ) + + + setAddress + setAddress-3 + ( const Q_IPV6ADDR & ip6Addr ) + + + setAddress + setAddress-4 + ( const QString & address ) + + + setAddress + setAddress-5 + ( const sockaddr * sockaddr ) + + + setScopeId + setScopeId + ( const QString & id ) + + + toIPv4Address + toIPv4Address + () + + + toIPv6Address + toIPv6Address + () + + + toString + toString + () + + + operator!= + operator-not-eq + ( const QHostAddress & other ) + + + operator!= + operator-not-eq-2 + ( SpecialAddress other ) + + + operator= + operator-eq + ( const QHostAddress & address ) + + + operator= + operator-eq-2 + ( const QString & address ) + + + operator== + operator-eq-eq + ( const QHostAddress & other ) + + + operator== + operator-eq-eq-2 + ( SpecialAddress other ) + + + ip4Addr + ip4Addr + () + + + isIPv4Address + isIPv4Address + () + + + isIPv6Address + isIPv6Address + () + + + isIp4Addr + isIp4Addr + () + + + + QHostInfo + qhostinfo.html + + HostInfoError + HostInfoError-enum + + + + QHostInfo + QHostInfo + ( int id = -1 ) + + + QHostInfo + QHostInfo-2 + ( const QHostInfo & other ) + + + abortHostLookup + abortHostLookup + ( int id ) + + + addresses + addresses + () + + + error + error + () + + + errorString + errorString + () + + + fromName + fromName + ( const QString & name ) + + + hostName + hostName + () + + + localHostName + localHostName + () + + + lookupHost + lookupHost + ( const QString & name, QObject * receiver, const char * member ) + + + lookupId + lookupId + () + + + setAddresses + setAddresses + ( const QList<QHostAddress> & addresses ) + + + setError + setError + ( HostInfoError error ) + + + setErrorString + setErrorString + ( const QString & str ) + + + setHostName + setHostName + ( const QString & hostName ) + + + setLookupId + setLookupId + ( int id ) + + + operator= + operator-eq + ( const QHostInfo & other ) + + + + QHoverEvent + qhoverevent.html + + QHoverEvent + QHoverEvent + ( Type type, const QPoint & pos, const QPoint & oldPos ) + + + oldPos + oldPos + () + + + pos + pos + () + + + closeConnection + closeConnection + () + + + readBlock + readBlock + ( char * data, quint64 maxlen ) + + + + QHttp + qhttp.html + + ConnectionMode + ConnectionMode-enum + + + + Error + Error-enum + + + + State + State-enum + + + + QHttp + QHttp + ( QObject * parent = 0 ) + + + QHttp + QHttp-2 + ( const QString & hostName, quint16 port = 80, QObject * parent = 0 ) + + + QHttp + QHttp-3 + ( const QString & hostName, ConnectionMode mode, quint16 port = 0, QObject * parent = 0 ) + + + abort + abort + () + + + authenticationRequired + authenticationRequired + ( const QString & hostname, quint16 port, QAuthenticator * authenticator ) + + + bytesAvailable + bytesAvailable + () + + + clearPendingRequests + clearPendingRequests + () + + + close + close + () + + + currentDestinationDevice + currentDestinationDevice + () + + + currentId + currentId + () + + + currentRequest + currentRequest + () + + + currentSourceDevice + currentSourceDevice + () + + + dataReadProgress + dataReadProgress + ( int done, int total ) + + + dataSendProgress + dataSendProgress + ( int done, int total ) + + + done + done + ( bool error ) + + + error + error + () + + + errorString + errorString + () + + + get + get + ( const QString & path, QIODevice * to = 0 ) + + + hasPendingRequests + hasPendingRequests + () + + + head + head + ( const QString & path ) + + + ignoreSslErrors + ignoreSslErrors + () + + + lastResponse + lastResponse + () + + + post + post + ( const QString & path, QIODevice * data, QIODevice * to = 0 ) + + + post + post-2 + ( const QString & path, const QByteArray & data, QIODevice * to = 0 ) + + + proxyAuthenticationRequired + proxyAuthenticationRequired + ( const QNetworkProxy & proxy, QAuthenticator * authenticator ) + + + read + read + ( char * data, qint64 maxlen ) + + + readAll + readAll + () + + + readyRead + readyRead + ( const QHttpResponseHeader & resp ) + + + request + request + ( const QHttpRequestHeader & header, QIODevice * data = 0, QIODevice * to = 0 ) + + + request + request-2 + ( const QHttpRequestHeader & header, const QByteArray & data, QIODevice * to = 0 ) + + + requestFinished + requestFinished + ( int id, bool error ) + + + requestStarted + requestStarted + ( int id ) + + + responseHeaderReceived + responseHeaderReceived + ( const QHttpResponseHeader & resp ) + + + setHost + setHost + ( const QString & hostName, quint16 port = 80 ) + + + setHost + setHost-2 + ( const QString & hostName, ConnectionMode mode, quint16 port = 0 ) + + + setProxy + setProxy + ( const QString & host, int port, const QString & username = QString() + + + setProxy + setProxy-2 + ( const QNetworkProxy & proxy ) + + + setSocket + setSocket + ( QTcpSocket * socket ) + + + setUser + setUser + ( const QString & userName, const QString & password = QString() + + + sslErrors + sslErrors + ( const QList<QSslError> & errors ) + + + state + state + () + + + stateChanged + stateChanged + ( int state ) + + + readBlock + readBlock + ( char * data, quint64 maxlen ) + + + + QHttpHeader + qhttpheader.html + + QHttpHeader + QHttpHeader + () + + + QHttpHeader + QHttpHeader-2 + ( const QHttpHeader & header ) + + + QHttpHeader + QHttpHeader-3 + ( const QString & str ) + + + addValue + addValue + ( const QString & key, const QString & value ) + + + allValues + allValues + ( const QString & key ) + + + contentLength + contentLength + () + + + contentType + contentType + () + + + hasContentLength + hasContentLength + () + + + hasContentType + hasContentType + () + + + hasKey + hasKey + ( const QString & key ) + + + isValid + isValid + () + + + keys + keys + () + + + majorVersion + majorVersion + () + + + minorVersion + minorVersion + () + + + removeAllValues + removeAllValues + ( const QString & key ) + + + removeValue + removeValue + ( const QString & key ) + + + setContentLength + setContentLength + ( int len ) + + + setContentType + setContentType + ( const QString & type ) + + + setValue + setValue + ( const QString & key, const QString & value ) + + + setValues + setValues + ( const QList<QPair<QString, QString> > & values ) + + + toString + toString + () + + + value + value + ( const QString & key ) + + + values + values + () + + + operator= + operator-eq + ( const QHttpHeader & h ) + + + + QHttpRequestHeader + qhttprequestheader.html + + QHttpRequestHeader + QHttpRequestHeader + () + + + QHttpRequestHeader + QHttpRequestHeader-2 + ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 ) + + + QHttpRequestHeader + QHttpRequestHeader-3 + ( const QHttpRequestHeader & header ) + + + QHttpRequestHeader + QHttpRequestHeader-4 + ( const QString & str ) + + + majorVersion + majorVersion + () + + + method + method + () + + + minorVersion + minorVersion + () + + + path + path + () + + + setRequest + setRequest + ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 ) + + + operator= + operator-eq + ( const QHttpRequestHeader & header ) + + + + QHttpResponseHeader + qhttpresponseheader.html + + QHttpResponseHeader + QHttpResponseHeader + () + + + QHttpResponseHeader + QHttpResponseHeader-2 + ( const QHttpResponseHeader & header ) + + + QHttpResponseHeader + QHttpResponseHeader-3 + ( const QString & str ) + + + QHttpResponseHeader + QHttpResponseHeader-4 + ( int code, const QString & text = QString() + + + majorVersion + majorVersion + () + + + minorVersion + minorVersion + () + + + reasonPhrase + reasonPhrase + () + + + setStatusLine + setStatusLine + ( int code, const QString & text = QString() + + + statusCode + statusCode + () + + + operator= + operator-eq + ( const QHttpResponseHeader & header ) + + + serialNumber + serialNumber + () + + + Size + Size-enum + + + + pixmap + pixmap-2 + ( Size size, Mode mode, State state = Off ) + + + pixmap + pixmap-3 + ( Size size, bool enabled, State state = Off ) + + + pixmap + pixmap-4 + () + + + pixmapSize + pixmapSize + ( Size which ) + + + reset + reset + ( const QPixmap & pixmap, Size size ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap, Size size, Mode mode = Normal, State state = Off ) + + + setPixmap + setPixmap-2 + ( const QString & fileName, Size size, Mode mode = Normal, State state = Off ) + + + setPixmapSize + setPixmapSize + ( Size which, const QSize & size ) + + + + QIcon + qicon.html + + DataPtr + DataPtr-typedef + + + + Mode + Mode-enum + + + + State + State-enum + + + + QIcon + QIcon + () + + + QIcon + QIcon-2 + ( const QPixmap & pixmap ) + + + QIcon + QIcon-3 + ( const QIcon & other ) + + + QIcon + QIcon-4 + ( const QString & fileName ) + + + QIcon + QIcon-5 + ( QIconEngine * engine ) + + + QIcon + QIcon-6 + ( QIconEngineV2 * engine ) + + + actualSize + actualSize + ( const QSize & size, Mode mode = Normal, State state = Off ) + + + addFile + addFile + ( const QString & fileName, const QSize & size = QSize() + + + addPixmap + addPixmap + ( const QPixmap & pixmap, Mode mode = Normal, State state = Off ) + + + cacheKey + cacheKey + () + + + data_ptr + data_ptr + () + + + isNull + isNull + () + + + paint + paint + ( QPainter * painter, const QRect & rect, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off ) + + + paint + paint-2 + ( QPainter * painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off ) + + + pixmap + pixmap + ( const QSize & size, Mode mode = Normal, State state = Off ) + + + pixmap + pixmap-5 + ( int w, int h, Mode mode = Normal, State state = Off ) + + + pixmap + pixmap-6 + ( int extent, Mode mode = Normal, State state = Off ) + + + operator + operator-QVariant + QVariant() + + + operator= + operator-eq + ( const QIcon & other ) + + + Size + Size-enum + + + + pixmap + pixmap-2 + ( Size size, Mode mode, State state = Off ) + + + pixmap + pixmap-3 + ( Size size, bool enabled, State state = Off ) + + + pixmap + pixmap-4 + () + + + pixmapSize + pixmapSize + ( Size which ) + + + reset + reset + ( const QPixmap & pixmap, Size size ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap, Size size, Mode mode = Normal, State state = Off ) + + + setPixmap + setPixmap-2 + ( const QString & fileName, Size size, Mode mode = Normal, State state = Off ) + + + setPixmapSize + setPixmapSize + ( Size which, const QSize & size ) + + + + QIconDragEvent + qicondragevent.html + + QIconDragEvent + QIconDragEvent + () + + + + QIconEngine + qiconengine.html + + actualSize + actualSize + ( const QSize & size, QIcon::Mode mode, QIcon::State state ) + + + addFile + addFile + ( const QString & fileName, const QSize & size, QIcon::Mode mode, QIcon::State state ) + + + addPixmap + addPixmap + ( const QPixmap & pixmap, QIcon::Mode mode, QIcon::State state ) + + + paint + paint + ( QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state ) + + + pixmap + pixmap + ( const QSize & size, QIcon::Mode mode, QIcon::State state ) + + + + QIconEnginePlugin + qiconengineplugin.html + + QIconEnginePlugin + QIconEnginePlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & filename ) + + + keys + keys + () + + + + QIconEnginePluginV2 + qiconenginepluginv2.html + + QIconEnginePluginV2 + QIconEnginePluginV2 + ( QObject * parent = 0 ) + + + create + create + ( const QString & filename = QString() + + + keys + keys + () + + + + QIconEngineV2 + qiconenginev2.html + + clone + clone + () + + + key + key + () + + + read + read + ( QDataStream & in ) + + + write + write + ( QDataStream & out ) + + + serialNumber + serialNumber + () + + + setText + setText-2 + ( const char * key, const char * language, const QString & text ) + + + text + text-2 + ( const char * key, const char * language = 0 ) + + + text + text-3 + ( const QImageTextKeyLang & keywordAndLanguage ) + + + textLanguages + textLanguages + () + + + textList + textList + () + + + Endian + Endian-enum + + + + QImage + QImage-12 + ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + QImage + QImage-13 + ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + QImage + QImage-14 + ( uchar * data, int width, int height, int depth, const QRgb * colortable, int numColors, Endian bitOrder ) + + + QImage + QImage-15 + ( uchar * data, int width, int height, int depth, int bytesPerLine, const QRgb * colortable, int numColors, Endian bitOrder ) + + + QImage + QImage-16 + ( const QByteArray & data ) + + + bitOrder + bitOrder + () + + + convertBitOrder + convertBitOrder + ( Endian bitOrder ) + + + convertDepth + convertDepth + ( int depth, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + convertDepthWithPalette + convertDepthWithPalette + ( int depth, QRgb * palette, int palette_count, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + copy + copy-2 + ( int x, int y, int w, int h, Qt::ImageConversionFlags flags ) + + + copy + copy-3 + ( const QRect & rect, Qt::ImageConversionFlags flags ) + + + create + create + ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + create + create-2 + ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + hasAlphaBuffer + hasAlphaBuffer + () + + + invertPixels + invertPixels-2 + ( bool invertAlpha ) + + + jumpTable + jumpTable + () + + + jumpTable + jumpTable-2 + () + + + mirror + mirror + ( bool horizontal = false, bool vertical = true ) + + + reset + reset + () + + + scaleHeight + scaleHeight + ( int h ) + + + scaleWidth + scaleWidth + ( int w ) + + + setAlphaBuffer + setAlphaBuffer + ( bool enable ) + + + smoothScale + smoothScale + ( int width, int height, Qt::AspectRatioMode mode = Qt::IgnoreAspectRatio ) + + + smoothScale + smoothScale-2 + ( const QSize & size, Qt::AspectRatioMode mode = Qt::IgnoreAspectRatio ) + + + swapRGB + swapRGB + () + + + systemBitOrder + systemBitOrder + () + + + systemByteOrder + systemByteOrder + () + + + xForm + xForm + ( const QMatrix & matrix ) + + + ImageConversionFlags + bitBlt + flags = Qt::AutoColor ) + + + + QImage + qimage.html + + DataPtr + DataPtr-typedef + + + + Format + Format-enum + + + + InvertMode + InvertMode-enum + + + + QImage + QImage + () + + + QImage + QImage-2 + ( const QSize & size, Format format ) + + + QImage + QImage-3 + ( int width, int height, Format format ) + + + QImage + QImage-4 + ( uchar * data, int width, int height, Format format ) + + + QImage + QImage-5 + ( const uchar * data, int width, int height, Format format ) + + + QImage + QImage-6 + ( uchar * data, int width, int height, int bytesPerLine, Format format ) + + + QImage + QImage-7 + ( const uchar * data, int width, int height, int bytesPerLine, Format format ) + + + QImage + QImage-8 + ( const char * const[] xpm ) + + + QImage + QImage-9 + ( const QString & fileName, const char * format = 0 ) + + + QImage + QImage-10 + ( const char * fileName, const char * format = 0 ) + + + QImage + QImage-11 + ( const QImage & image ) + + + allGray + allGray + () + + + alphaChannel + alphaChannel + () + + + bits + bits + () + + + bits + bits-2 + () + + + bytesPerLine + bytesPerLine + () + + + cacheKey + cacheKey + () + + + color + color + ( int i ) + + + colorTable + colorTable + () + + + convertToFormat + convertToFormat + ( Format format, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + convertToFormat + convertToFormat-2 + ( Format format, const QVector<QRgb> & colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + copy + copy + ( const QRect & rectangle = QRect() + + + copy + copy-4 + ( int x, int y, int width, int height ) + + + createAlphaMask + createAlphaMask + ( Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + createHeuristicMask + createHeuristicMask + ( bool clipTight = true ) + + + createMaskFromColor + createMaskFromColor + ( QRgb color, Qt::MaskMode mode = Qt::MaskInColor ) + + + data_ptr + data_ptr + () + + + depth + depth + () + + + dotsPerMeterX + dotsPerMeterX + () + + + dotsPerMeterY + dotsPerMeterY + () + + + fill + fill + ( uint pixelValue ) + + + format + format + () + + + fromData + fromData + ( const uchar * data, int size, const char * format = 0 ) + + + fromData + fromData-2 + ( const QByteArray & data, const char * format = 0 ) + + + hasAlphaChannel + hasAlphaChannel + () + + + height + height + () + + + invertPixels + invertPixels + ( InvertMode mode = InvertRgb ) + + + isGrayscale + isGrayscale + () + + + isNull + isNull + () + + + load + load + ( const QString & fileName, const char * format = 0 ) + + + load + load-2 + ( QIODevice * device, const char * format ) + + + loadFromData + loadFromData + ( const uchar * data, int len, const char * format = 0 ) + + + loadFromData + loadFromData-2 + ( const QByteArray & data, const char * format = 0 ) + + + mirrored + mirrored + ( bool horizontal = false, bool vertical = true ) + + + numBytes + numBytes + () + + + numColors + numColors + () + + + offset + offset + () + + + pixel + pixel + ( const QPoint & position ) + + + pixel + pixel-2 + ( int x, int y ) + + + pixelIndex + pixelIndex + ( const QPoint & position ) + + + pixelIndex + pixelIndex-2 + ( int x, int y ) + + + rect + rect + () + + + rgbSwapped + rgbSwapped + () + + + save + save + ( const QString & fileName, const char * format = 0, int quality = -1 ) + + + save + save-2 + ( QIODevice * device, const char * format = 0, int quality = -1 ) + + + scaled + scaled + ( const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) + + + scaled + scaled-2 + ( int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) + + + scaledToHeight + scaledToHeight + ( int height, Qt::TransformationMode mode = Qt::FastTransformation ) + + + scaledToWidth + scaledToWidth + ( int width, Qt::TransformationMode mode = Qt::FastTransformation ) + + + scanLine + scanLine + ( int i ) + + + scanLine + scanLine-2 + ( int i ) + + + setAlphaChannel + setAlphaChannel + ( const QImage & alphaChannel ) + + + setColor + setColor + ( int index, QRgb colorValue ) + + + setColorTable + setColorTable + ( const QVector<QRgb> colors ) + + + setDotsPerMeterX + setDotsPerMeterX + ( int x ) + + + setDotsPerMeterY + setDotsPerMeterY + ( int y ) + + + setNumColors + setNumColors + ( int numColors ) + + + setOffset + setOffset + ( const QPoint & offset ) + + + setPixel + setPixel + ( const QPoint & position, uint index_or_rgb ) + + + setPixel + setPixel-2 + ( int x, int y, uint index_or_rgb ) + + + setText + setText + ( const QString & key, const QString & text ) + + + size + size + () + + + text + text + ( const QString & key = QString() + + + textKeys + textKeys + () + + + transformed + transformed + ( const QMatrix & matrix, Qt::TransformationMode mode = Qt::FastTransformation ) + + + transformed + transformed-2 + ( const QTransform & matrix, Qt::TransformationMode mode = Qt::FastTransformation ) + + + trueMatrix + trueMatrix + ( const QMatrix & matrix, int width, int height ) + + + trueMatrix + trueMatrix-2 + ( const QTransform &, int w, int h ) + + + valid + valid + ( const QPoint & pos ) + + + valid + valid-2 + ( int x, int y ) + + + width + width + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QImage & image ) + + + operator= + operator-eq + ( const QImage & image ) + + + operator== + operator-eq-eq + ( const QImage & image ) + + + Endian + Endian-enum + + + + QImage + QImage-12 + ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + QImage + QImage-13 + ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + QImage + QImage-14 + ( uchar * data, int width, int height, int depth, const QRgb * colortable, int numColors, Endian bitOrder ) + + + QImage + QImage-15 + ( uchar * data, int width, int height, int depth, int bytesPerLine, const QRgb * colortable, int numColors, Endian bitOrder ) + + + QImage + QImage-16 + ( const QByteArray & data ) + + + bitOrder + bitOrder + () + + + convertBitOrder + convertBitOrder + ( Endian bitOrder ) + + + convertDepth + convertDepth + ( int depth, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + convertDepthWithPalette + convertDepthWithPalette + ( int depth, QRgb * palette, int palette_count, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + copy + copy-2 + ( int x, int y, int w, int h, Qt::ImageConversionFlags flags ) + + + copy + copy-3 + ( const QRect & rect, Qt::ImageConversionFlags flags ) + + + create + create + ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + create + create-2 + ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian ) + + + hasAlphaBuffer + hasAlphaBuffer + () + + + invertPixels + invertPixels-2 + ( bool invertAlpha ) + + + jumpTable + jumpTable + () + + + jumpTable + jumpTable-2 + () + + + mirror + mirror + ( bool horizontal = false, bool vertical = true ) + + + reset + reset + () + + + scaleHeight + scaleHeight + ( int h ) + + + scaleWidth + scaleWidth + ( int w ) + + + setAlphaBuffer + setAlphaBuffer + ( bool enable ) + + + smoothScale + smoothScale + ( int width, int height, Qt::AspectRatioMode mode = Qt::IgnoreAspectRatio ) + + + smoothScale + smoothScale-2 + ( const QSize & size, Qt::AspectRatioMode mode = Qt::IgnoreAspectRatio ) + + + swapRGB + swapRGB + () + + + systemBitOrder + systemBitOrder + () + + + systemByteOrder + systemByteOrder + () + + + xForm + xForm + ( const QMatrix & matrix ) + + + ImageConversionFlags + bitBlt + flags = Qt::AutoColor ) + + + name + name + () + + + + QImageIOHandler + qimageiohandler.html + + ImageOption + ImageOption-enum + + + + QImageIOHandler + QImageIOHandler + () + + + canRead + canRead + () + + + currentImageNumber + currentImageNumber + () + + + currentImageRect + currentImageRect + () + + + device + device + () + + + format + format + () + + + imageCount + imageCount + () + + + jumpToImage + jumpToImage + ( int imageNumber ) + + + jumpToNextImage + jumpToNextImage + () + + + loopCount + loopCount + () + + + nextImageDelay + nextImageDelay + () + + + option + option + ( ImageOption option ) + + + read + read + ( QImage * image ) + + + setDevice + setDevice + ( QIODevice * device ) + + + setFormat + setFormat + ( const QByteArray & format ) + + + setFormat + setFormat-2 + ( const QByteArray & format ) + + + setOption + setOption + ( ImageOption option, const QVariant & value ) + + + supportsOption + supportsOption + ( ImageOption option ) + + + write + write + ( const QImage & image ) + + + + QImageIOPlugin + qimageioplugin.html + + QImageIOPlugin + QImageIOPlugin + ( QObject * parent = 0 ) + + + capabilities + capabilities + ( QIODevice * device, const QByteArray & format ) + + + create + create + ( QIODevice * device, const QByteArray & format = QByteArray() + + + keys + keys + () + + + + QImageReader + qimagereader.html + + ImageReaderError + ImageReaderError-enum + + + + QImageReader + QImageReader + () + + + QImageReader + QImageReader-2 + ( QIODevice * device, const QByteArray & format = QByteArray() + + + QImageReader + QImageReader-3 + ( const QString & fileName, const QByteArray & format = QByteArray() + + + backgroundColor + backgroundColor + () + + + canRead + canRead + () + + + clipRect + clipRect + () + + + currentImageNumber + currentImageNumber + () + + + currentImageRect + currentImageRect + () + + + device + device + () + + + error + error + () + + + errorString + errorString + () + + + fileName + fileName + () + + + format + format + () + + + imageCount + imageCount + () + + + imageFormat + imageFormat + ( const QString & fileName ) + + + imageFormat + imageFormat-2 + ( QIODevice * device ) + + + jumpToImage + jumpToImage + ( int imageNumber ) + + + jumpToNextImage + jumpToNextImage + () + + + loopCount + loopCount + () + + + nextImageDelay + nextImageDelay + () + + + quality + quality + () + + + read + read + () + + + read + read-2 + ( QImage * image ) + + + scaledClipRect + scaledClipRect + () + + + scaledSize + scaledSize + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setClipRect + setClipRect + ( const QRect & rect ) + + + setDevice + setDevice + ( QIODevice * device ) + + + setFileName + setFileName + ( const QString & fileName ) + + + setFormat + setFormat + ( const QByteArray & format ) + + + setQuality + setQuality + ( int quality ) + + + setScaledClipRect + setScaledClipRect + ( const QRect & rect ) + + + setScaledSize + setScaledSize + ( const QSize & size ) + + + size + size + () + + + supportedImageFormats + supportedImageFormats + () + + + supportsAnimation + supportsAnimation + () + + + supportsOption + supportsOption + ( QImageIOHandler::ImageOption option ) + + + text + text + ( const QString & key ) + + + textKeys + textKeys + () + + + description + description + () + + + setDescription + setDescription + ( const QString & description ) + + + + QImageWriter + qimagewriter.html + + ImageWriterError + ImageWriterError-enum + + + + QImageWriter + QImageWriter + () + + + QImageWriter + QImageWriter-2 + ( QIODevice * device, const QByteArray & format ) + + + QImageWriter + QImageWriter-3 + ( const QString & fileName, const QByteArray & format = QByteArray() + + + canWrite + canWrite + () + + + compression + compression + () + + + device + device + () + + + error + error + () + + + errorString + errorString + () + + + fileName + fileName + () + + + format + format + () + + + gamma + gamma + () + + + quality + quality + () + + + setCompression + setCompression + ( int compression ) + + + setDevice + setDevice + ( QIODevice * device ) + + + setFileName + setFileName + ( const QString & fileName ) + + + setFormat + setFormat + ( const QByteArray & format ) + + + setGamma + setGamma + ( float gamma ) + + + setQuality + setQuality + ( int quality ) + + + setText + setText + ( const QString & key, const QString & text ) + + + supportedImageFormats + supportedImageFormats + () + + + supportsOption + supportsOption + ( QImageIOHandler::ImageOption option ) + + + write + write + ( const QImage & image ) + + + + QInputContext + qinputcontext.html + + StandardFormat + StandardFormat-enum + + + + QInputContext + QInputContext + ( QObject * parent = 0 ) + + + actions + actions + () + + + filterEvent + filterEvent + ( const QEvent * event ) + + + font + font + () + + + identifierName + identifierName + () + + + isComposing + isComposing + () + + + language + language + () + + + mouseHandler + mouseHandler + ( int x, QMouseEvent * event ) + + + reset + reset + () + + + sendEvent + sendEvent + ( const QInputMethodEvent & event ) + + + standardFormat + standardFormat + ( StandardFormat s ) + + + update + update + () + + + widgetDestroyed + widgetDestroyed + ( QWidget * widget ) + + + x11FilterEvent + x11FilterEvent + ( QWidget * keywidget, XEvent * event ) + + + + QInputContextFactory + qinputcontextfactory.html + + create + create + ( const QString & key, QObject * parent ) + + + description + description + ( const QString & key ) + + + displayName + displayName + ( const QString & key ) + + + keys + keys + () + + + languages + languages + ( const QString & key ) + + + + QInputContextPlugin + qinputcontextplugin.html + + QInputContextPlugin + QInputContextPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key ) + + + description + description + ( const QString & key ) + + + displayName + displayName + ( const QString & key ) + + + keys + keys + () + + + languages + languages + ( const QString & key ) + + + getDouble + getDouble-2 + ( const QString & title, const QString & label, double value = 0, double minValue = -2147483647, double maxValue = 2147483647, int decimals = 1, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getInteger + getInteger-2 + ( const QString & title, const QString & label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getItem + getItem-2 + ( const QString & title, const QString & label, const QStringList & list, int current = 0, bool editable = true, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getText + getText-2 + ( const QString & title, const QString & label, QLineEdit::EchoMode echo = QLineEdit::Normal, const QString & text = QString() + + + + QInputDialog + qinputdialog.html + + getDouble + getDouble + ( QWidget * parent, const QString & title, const QString & label, double value = 0, double minValue = -2147483647, double maxValue = 2147483647, int decimals = 1, bool * ok = 0, Qt::WindowFlags f = 0 ) + + + getInteger + getInteger + ( QWidget * parent, const QString & title, const QString & label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool * ok = 0, Qt::WindowFlags f = 0 ) + + + getItem + getItem + ( QWidget * parent, const QString & title, const QString & label, const QStringList & list, int current = 0, bool editable = true, bool * ok = 0, Qt::WindowFlags f = 0 ) + + + getText + getText + ( QWidget * parent, const QString & title, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString() + + + getDouble + getDouble-2 + ( const QString & title, const QString & label, double value = 0, double minValue = -2147483647, double maxValue = 2147483647, int decimals = 1, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getInteger + getInteger-2 + ( const QString & title, const QString & label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getItem + getItem-2 + ( const QString & title, const QString & label, const QStringList & list, int current = 0, bool editable = true, bool * ok = 0, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + getText + getText-2 + ( const QString & title, const QString & label, QLineEdit::EchoMode echo = QLineEdit::Normal, const QString & text = QString() + + + + QInputEvent + qinputevent.html + + KeyboardModifiers + modifiers + QInputEvent::modifiers() + + + + QInputMethodEvent::Attribute + qinputmethodevent-attribute.html + + Attribute + Attribute + ( AttributeType type, int start, int length, QVariant value ) + + + + QInputMethodEvent + qinputmethodevent.html + + AttributeType + AttributeType-enum + + + + QInputMethodEvent + QInputMethodEvent + () + + + QInputMethodEvent + QInputMethodEvent-2 + ( const QString & preeditText, const QList<Attribute> & attributes ) + + + QInputMethodEvent + QInputMethodEvent-3 + ( const QInputMethodEvent & other ) + + + attributes + attributes + () + + + commitString + commitString + () + + + preeditString + preeditString + () + + + replacementLength + replacementLength + () + + + replacementStart + replacementStart + () + + + setCommitString + setCommitString + ( const QString & commitString, int replaceFrom = 0, int replaceLength = 0 ) + + + QIntValidator + QIntValidator-3 + ( QObject * parent, const char * name ) + + + QIntValidator + QIntValidator-4 + ( int minimum, int maximum, QObject * parent, const char * name ) + + + + QIntValidator + qintvalidator.html + + QIntValidator + QIntValidator + ( QObject * parent ) + + + QIntValidator + QIntValidator-2 + ( int minimum, int maximum, QObject * parent ) + + + setRange + setRange + ( int bottom, int top ) + + + State + validate + QIntValidator::validate( QString & input, int & pos ) + + + QIntValidator + QIntValidator-3 + ( QObject * parent, const char * name ) + + + QIntValidator + QIntValidator-4 + ( int minimum, int maximum, QObject * parent, const char * name ) + + + Offset + Offset-typedef + + + + Status + Status-typedef + + + + at + at + () + + + at + at-2 + ( Offset offset ) + + + flags + flags + () + + + getch + getch + () + + + isAsynchronous + isAsynchronous + () + + + isBuffered + isBuffered + () + + + isCombinedAccess + isCombinedAccess + () + + + isDirectAccess + isDirectAccess + () + + + isInactive + isInactive + () + + + isRaw + isRaw + () + + + isSequentialAccess + isSequentialAccess + () + + + isSynchronous + isSynchronous + () + + + isTranslated + isTranslated + () + + + mode + mode + () + + + putch + putch + ( int ch ) + + + readBlock + readBlock + ( char * data, quint64 size ) + + + resetStatus + resetStatus + () + + + state + state + () + + + status + status + () + + + ungetch + ungetch + ( int ch ) + + + writeBlock + writeBlock + ( const char * data, quint64 size ) + + + writeBlock + writeBlock-2 + ( const QByteArray & data ) + + + + QIODevice + qiodevice.html + + QIODevice + QIODevice + () + + + QIODevice + QIODevice-2 + ( QObject * parent ) + + + aboutToClose + aboutToClose + () + + + atEnd + atEnd + () + + + bytesAvailable + bytesAvailable + () + + + bytesToWrite + bytesToWrite + () + + + bytesWritten + bytesWritten + ( qint64 bytes ) + + + canReadLine + canReadLine + () + + + close + close + () + + + errorString + errorString + () + + + getChar + getChar + ( char * c ) + + + isOpen + isOpen + () + + + isReadable + isReadable + () + + + isSequential + isSequential + () + + + isTextModeEnabled + isTextModeEnabled + () + + + isWritable + isWritable + () + + + open + open + ( OpenMode mode ) + + + openMode + openMode + () + + + peek + peek + ( char * data, qint64 maxSize ) + + + peek + peek-2 + ( qint64 maxSize ) + + + pos + pos + () + + + putChar + putChar + ( char c ) + + + read + read + ( char * data, qint64 maxSize ) + + + read + read-2 + ( qint64 maxSize ) + + + readAll + readAll + () + + + readData + readData + ( char * data, qint64 maxSize ) + + + readLine + readLine + ( char * data, qint64 maxSize ) + + + readLine + readLine-2 + ( qint64 maxSize = 0 ) + + + readLineData + readLineData + ( char * data, qint64 maxSize ) + + + readyRead + readyRead + () + + + reset + reset + () + + + seek + seek + ( qint64 pos ) + + + setErrorString + setErrorString + ( const QString & str ) + + + setOpenMode + setOpenMode + ( OpenMode openMode ) + + + setTextModeEnabled + setTextModeEnabled + ( bool enabled ) + + + size + size + () + + + ungetChar + ungetChar + ( char c ) + + + waitForBytesWritten + waitForBytesWritten + ( int msecs ) + + + waitForReadyRead + waitForReadyRead + ( int msecs ) + + + write + write + ( const char * data, qint64 maxSize ) + + + write + write-2 + ( const QByteArray & byteArray ) + + + writeData + writeData + ( const char * data, qint64 maxSize ) + + + Offset + Offset-typedef + + + + Status + Status-typedef + + + + at + at + () + + + at + at-2 + ( Offset offset ) + + + flags + flags + () + + + getch + getch + () + + + isAsynchronous + isAsynchronous + () + + + isBuffered + isBuffered + () + + + isCombinedAccess + isCombinedAccess + () + + + isDirectAccess + isDirectAccess + () + + + isInactive + isInactive + () + + + isRaw + isRaw + () + + + isSequentialAccess + isSequentialAccess + () + + + isSynchronous + isSynchronous + () + + + isTranslated + isTranslated + () + + + mode + mode + () + + + putch + putch + ( int ch ) + + + readBlock + readBlock + ( char * data, quint64 size ) + + + resetStatus + resetStatus + () + + + state + state + () + + + status + status + () + + + ungetch + ungetch + ( int ch ) + + + writeBlock + writeBlock + ( const char * data, quint64 size ) + + + writeBlock + writeBlock-2 + ( const QByteArray & data ) + + + + QItemDelegate + qitemdelegate.html + + QItemDelegate + QItemDelegate + ( QObject * parent = 0 ) + + + createEditor + createEditor + ( QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + drawBackground + drawBackground + ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + drawCheck + drawCheck + ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, Qt::CheckState state ) + + + drawDecoration + drawDecoration + ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QPixmap & pixmap ) + + + drawDisplay + drawDisplay + ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QString & text ) + + + drawFocus + drawFocus + ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect ) + + + eventFilter + eventFilter + ( QObject * editor, QEvent * event ) + + + itemEditorFactory + itemEditorFactory + () + + + paint + paint + ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + setEditorData + setEditorData + ( QWidget * editor, const QModelIndex & index ) + + + setItemEditorFactory + setItemEditorFactory + ( QItemEditorFactory * factory ) + + + setModelData + setModelData + ( QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) + + + sizeHint + sizeHint + ( const QStyleOptionViewItem & option, const QModelIndex & index ) + + + updateEditorGeometry + updateEditorGeometry + ( QWidget * editor, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + + QItemEditorCreator + qitemeditorcreator.html + + QItemEditorCreator + QItemEditorCreator + ( const QByteArray & valuePropertyName ) + + + + QItemEditorCreatorBase + qitemeditorcreatorbase.html + + createWidget + createWidget + ( QWidget * parent ) + + + valuePropertyName + valuePropertyName + () + + + + QItemEditorFactory + qitemeditorfactory.html + + QItemEditorFactory + QItemEditorFactory + () + + + createEditor + createEditor + ( QVariant::Type type, QWidget * parent ) + + + defaultFactory + defaultFactory + () + + + registerEditor + registerEditor + ( QVariant::Type type, QItemEditorCreatorBase * creator ) + + + setDefaultFactory + setDefaultFactory + ( QItemEditorFactory * factory ) + + + valuePropertyName + valuePropertyName + ( QVariant::Type type ) + + + + QItemSelection + qitemselection.html + + QItemSelection + QItemSelection + () + + + QItemSelection + QItemSelection-2 + ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) + + + contains + contains + ( const QModelIndex & index ) + + + indexes + indexes + () + + + merge + merge + ( const QItemSelection & other, QItemSelectionModel::SelectionFlags command ) + + + select + select + ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) + + + split + split + ( const QItemSelectionRange & range, const QItemSelectionRange & other, QItemSelection * result ) + + + + QItemSelectionModel + qitemselectionmodel.html + + QItemSelectionModel + QItemSelectionModel + ( QAbstractItemModel * model ) + + + QItemSelectionModel + QItemSelectionModel-2 + ( QAbstractItemModel * model, QObject * parent ) + + + clear + clear + () + + + clearSelection + clearSelection + () + + + columnIntersectsSelection + columnIntersectsSelection + ( int column, const QModelIndex & parent ) + + + currentChanged + currentChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + currentColumnChanged + currentColumnChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + currentIndex + currentIndex + () + + + currentRowChanged + currentRowChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + emitSelectionChanged + emitSelectionChanged + ( const QItemSelection & newSelection, const QItemSelection & oldSelection ) + + + hasSelection + hasSelection + () + + + isColumnSelected + isColumnSelected + ( int column, const QModelIndex & parent ) + + + isRowSelected + isRowSelected + ( int row, const QModelIndex & parent ) + + + isSelected + isSelected + ( const QModelIndex & index ) + + + model + model + () + + + reset + reset + () + + + rowIntersectsSelection + rowIntersectsSelection + ( int row, const QModelIndex & parent ) + + + select + select + ( const QModelIndex & index, QItemSelectionModel::SelectionFlags command ) + + + select + select-2 + ( const QItemSelection & selection, QItemSelectionModel::SelectionFlags command ) + + + selectedColumns + selectedColumns + ( int row = 0 ) + + + selectedIndexes + selectedIndexes + () + + + selectedRows + selectedRows + ( int column = 0 ) + + + selection + selection + () + + + selectionChanged + selectionChanged + ( const QItemSelection & selected, const QItemSelection & deselected ) + + + setCurrentIndex + setCurrentIndex + ( const QModelIndex & index, QItemSelectionModel::SelectionFlags command ) + + + intersect + intersect + ( const QItemSelectionRange & other ) + + + + QItemSelectionRange + qitemselectionrange.html + + QItemSelectionRange + QItemSelectionRange + () + + + QItemSelectionRange + QItemSelectionRange-2 + ( const QItemSelectionRange & other ) + + + QItemSelectionRange + QItemSelectionRange-3 + ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) + + + QItemSelectionRange + QItemSelectionRange-4 + ( const QModelIndex & index ) + + + bottom + bottom + () + + + bottomRight + bottomRight + () + + + contains + contains + ( const QModelIndex & index ) + + + contains + contains-2 + ( int row, int column, const QModelIndex & parentIndex ) + + + height + height + () + + + indexes + indexes + () + + + intersected + intersected + ( const QItemSelectionRange & other ) + + + intersects + intersects + ( const QItemSelectionRange & other ) + + + isValid + isValid + () + + + left + left + () + + + model + model + () + + + parent + parent + () + + + right + right + () + + + top + top + () + + + topLeft + topLeft + () + + + width + width + () + + + operator!= + operator-not-eq + ( const QItemSelectionRange & other ) + + + operator== + operator-eq-eq + ( const QItemSelectionRange & other ) + + + + QKbdDriverFactory + qkbddriverfactory.html + + create + create + ( const QString & key, const QString & device ) + + + keys + keys + () + + + + QKbdDriverPlugin + qkbddriverplugin.html + + QKbdDriverPlugin + QKbdDriverPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key, const QString & device ) + + + keys + keys + () + + + QKeyEvent + QKeyEvent-2 + ( Type type, int key, int ascii, int modifiers, const QString & text = QString() + + + ascii + ascii + () + + + ButtonState + state + QKeyEvent::state() + + + ButtonState + stateAfter + QKeyEvent::stateAfter() + + + + QKeyEvent + qkeyevent.html + + QKeyEvent + QKeyEvent + ( Type type, int key, Qt::KeyboardModifiers modifiers, const QString & text = QString() + + + count + count + () + + + isAutoRepeat + isAutoRepeat + () + + + key + key + () + + + matches + matches + ( QKeySequence::StandardKey key ) + + + KeyboardModifiers + modifiers + QKeyEvent::modifiers() + + + nativeModifiers + nativeModifiers + () + + + nativeScanCode + nativeScanCode + () + + + nativeVirtualKey + nativeVirtualKey + () + + + text + text + () + + + StandardKey + operator-eq-eq-46 + key ) + + + StandardKey + operator-eq-eq-47 + key, QKeyEvent * e ) + + + QKeyEvent + QKeyEvent-2 + ( Type type, int key, int ascii, int modifiers, const QString & text = QString() + + + ascii + ascii + () + + + ButtonState + state + QKeyEvent::state() + + + ButtonState + stateAfter + QKeyEvent::stateAfter() + + + operator + operator-QString + QString() + + + operator + operator-int + int() + + + + QKeySequence + qkeysequence.html + + DataPtr + DataPtr-typedef + + + + SequenceFormat + SequenceFormat-enum + + + + SequenceMatch + SequenceMatch-enum + + + + StandardKey + StandardKey-enum + + + + QKeySequence + QKeySequence + () + + + QKeySequence + QKeySequence-2 + ( const QString & key ) + + + QKeySequence + QKeySequence-3 + ( int k1, int k2 = 0, int k3 = 0, int k4 = 0 ) + + + QKeySequence + QKeySequence-4 + ( const QKeySequence & keysequence ) + + + QKeySequence + QKeySequence-5 + ( StandardKey key ) + + + count + count + () + + + data_ptr + data_ptr + () + + + fromString + fromString + ( const QString & str, SequenceFormat format = PortableText ) + + + isEmpty + isEmpty + () + + + keyBindings + keyBindings + ( StandardKey key ) + + + matches + matches + ( const QKeySequence & seq ) + + + mnemonic + mnemonic + ( const QString & text ) + + + toString + toString + ( SequenceFormat format = PortableText ) + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QKeySequence & other ) + + + operator< + operator-lt + ( const QKeySequence & other ) + + + operator<= + operator-lt-eq + ( const QKeySequence & other ) + + + operator= + operator-eq + ( const QKeySequence & other ) + + + operator== + operator-eq-eq + ( const QKeySequence & other ) + + + operator> + operator-gt + ( const QKeySequence & other ) + + + operator>= + operator-gt-eq + ( const QKeySequence & other ) + + + operator[] + operator-5b-5d + ( uint index ) + + + QLabel + QLabel-3 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + QLabel + QLabel-4 + ( const QString & text, QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + QLabel + QLabel-5 + ( QWidget * buddy, const QString & text, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + setAlignment + setAlignment-2 + ( int alignment ) + + + + QLabel + qlabel.html + + Alignment + alignment-prop + + + + TextFormat + textFormat-prop + + + + TextInteractionFlags + textInteractionFlags-prop + + + + QLabel + QLabel + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + QLabel + QLabel-2 + ( const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + buddy + buddy + () + + + clear + clear + () + + + linkActivated + linkActivated + ( const QString & link ) + + + linkHovered + linkHovered + ( const QString & link ) + + + movie + movie + () + + + picture + picture + () + + + setBuddy + setBuddy + ( QWidget * buddy ) + + + setMovie + setMovie + ( QMovie * movie ) + + + setNum + setNum + ( int num ) + + + setNum + setNum-2 + ( double num ) + + + setPicture + setPicture + ( const QPicture & picture ) + + + QLabel + QLabel-3 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + QLabel + QLabel-4 + ( const QString & text, QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + QLabel + QLabel-5 + ( QWidget * buddy, const QString & text, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 ) + + + setAlignment + setAlignment-2 + ( int alignment ) + + + + QLatin1Char + qlatin1char.html + + QLatin1Char + QLatin1Char + ( char c ) + + + toLatin1 + toLatin1 + () + + + unicode + unicode + () + + + + QLatin1String + qlatin1string.html + + QLatin1String + QLatin1String + ( const char * str ) + + + latin1 + latin1 + () + + + operator!= + operator-not-eq + ( const QString & other ) + + + operator!= + operator-not-eq-2 + ( const char * other ) + + + operator< + operator-lt + ( const QString & other ) + + + operator< + operator-lt-2 + ( const char * other ) + + + operator<= + operator-lt-eq + ( const QString & other ) + + + operator<= + operator-lt-eq-2 + ( const char * other ) + + + operator= + operator-eq + ( const QLatin1String & other ) + + + operator== + operator-eq-eq + ( const QString & other ) + + + operator== + operator-eq-eq-2 + ( const char * other ) + + + operator> + operator-gt + ( const QString & other ) + + + operator> + operator-gt-2 + ( const char * other ) + + + operator>= + operator-gt-eq + ( const QString & other ) + + + operator>= + operator-gt-eq-2 + ( const char * other ) + + + QLayout + QLayout-4 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QLayout + QLayout-5 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QLayout + QLayout-6 + ( int spacing, const char * name = 0 ) + + + add + add + ( QWidget * widget ) + + + autoAdd + autoAdd + () + + + defaultBorder + defaultBorder + () + + + deleteAllItems + deleteAllItems + () + + + freeze + freeze + ( int w = 0, int h = 0 ) + + + isTopLevel + isTopLevel + () + + + iterator + iterator + () + + + mainWidget + mainWidget + () + + + remove + remove + ( QWidget * widget ) + + + resizeMode + resizeMode + () + + + setAutoAdd + setAutoAdd + ( bool a ) + + + setResizeMode + setResizeMode + ( SizeConstraint constraint ) + + + + QLayout + qlayout.html + + SizeConstraint + SizeConstraint-enum + + + + QLayout + QLayout + ( QWidget * parent ) + + + QLayout + QLayout-2 + () + + + activate + activate + () + + + addChildLayout + addChildLayout + ( QLayout * l ) + + + addChildWidget + addChildWidget + ( QWidget * w ) + + + addItem + addItem + ( QLayoutItem * item ) + + + addWidget + addWidget + ( QWidget * w ) + + + alignmentRect + alignmentRect + ( const QRect & r ) + + + closestAcceptableSize + closestAcceptableSize + ( const QWidget * widget, const QSize & size ) + + + contentsRect + contentsRect + () + + + count + count + () + + + Orientations + expandingDirections + QLayout::expandingDirections() + + + getContentsMargins + getContentsMargins + ( int * left, int * top, int * right, int * bottom ) + + + indexOf + indexOf + ( QWidget * widget ) + + + isEnabled + isEnabled + () + + + itemAt + itemAt + ( int index ) + + + maximumSize + maximumSize + () + + + menuBar + menuBar + () + + + minimumSize + minimumSize + () + + + parentWidget + parentWidget + () + + + removeItem + removeItem + ( QLayoutItem * item ) + + + removeWidget + removeWidget + ( QWidget * widget ) + + + setAlignment + setAlignment + ( QWidget * w, Qt::Alignment alignment ) + + + setAlignment + setAlignment-2 + ( QLayout * l, Qt::Alignment alignment ) + + + setContentsMargins + setContentsMargins + ( int left, int top, int right, int bottom ) + + + setEnabled + setEnabled + ( bool enable ) + + + setMenuBar + setMenuBar + ( QWidget * widget ) + + + takeAt + takeAt + ( int index ) + + + update + update + () + + + QLayout + QLayout-4 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QLayout + QLayout-5 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QLayout + QLayout-6 + ( int spacing, const char * name = 0 ) + + + add + add + ( QWidget * widget ) + + + autoAdd + autoAdd + () + + + defaultBorder + defaultBorder + () + + + deleteAllItems + deleteAllItems + () + + + freeze + freeze + ( int w = 0, int h = 0 ) + + + isTopLevel + isTopLevel + () + + + iterator + iterator + () + + + mainWidget + mainWidget + () + + + remove + remove + ( QWidget * widget ) + + + resizeMode + resizeMode + () + + + setAutoAdd + setAutoAdd + ( bool a ) + + + setResizeMode + setResizeMode + ( SizeConstraint constraint ) + + + + QLayoutItem + qlayoutitem.html + + QLayoutItem + QLayoutItem + ( Qt::Alignment alignment = 0 ) + + + Alignment + alignment + QLayoutItem::alignment() + + + ControlTypes + controlTypes + QLayoutItem::controlTypes() + + + Orientations + expandingDirections + QLayoutItem::expandingDirections() + + + geometry + geometry + () + + + hasHeightForWidth + hasHeightForWidth + () + + + heightForWidth + heightForWidth + ( int w ) + + + invalidate + invalidate + () + + + isEmpty + isEmpty + () + + + layout + layout + () + + + maximumSize + maximumSize + () + + + minimumHeightForWidth + minimumHeightForWidth + ( int w ) + + + minimumSize + minimumSize + () + + + setAlignment + setAlignment + ( Qt::Alignment alignment ) + + + setGeometry + setGeometry + ( const QRect & r ) + + + sizeHint + sizeHint + () + + + spacerItem + spacerItem + () + + + widget + widget + () + + + QLCDNumber + QLCDNumber-3 + ( QWidget * parent, const char * name ) + + + QLCDNumber + QLCDNumber-4 + ( uint numDigits, QWidget * parent, const char * name ) + + + margin + margin + () + + + setMargin + setMargin + ( int margin ) + + + + QLCDNumber + qlcdnumber.html + + Mode + Mode-enum + + + + SegmentStyle + SegmentStyle-enum + + + + QLCDNumber + QLCDNumber + ( QWidget * parent = 0 ) + + + QLCDNumber + QLCDNumber-2 + ( uint numDigits, QWidget * parent = 0 ) + + + checkOverflow + checkOverflow + ( double num ) + + + checkOverflow + checkOverflow-2 + ( int num ) + + + overflow + overflow + () + + + setBinMode + setBinMode + () + + + setDecMode + setDecMode + () + + + setHexMode + setHexMode + () + + + setOctMode + setOctMode + () + + + QLCDNumber + QLCDNumber-3 + ( QWidget * parent, const char * name ) + + + QLCDNumber + QLCDNumber-4 + ( uint numDigits, QWidget * parent, const char * name ) + + + margin + margin + () + + + setMargin + setMargin + ( int margin ) + + + library + library + () + + + setAutoUnload + setAutoUnload + ( bool b ) + + + + QLibrary + qlibrary.html + + QLibrary + QLibrary + ( QObject * parent = 0 ) + + + QLibrary + QLibrary-2 + ( const QString & fileName, QObject * parent = 0 ) + + + QLibrary + QLibrary-3 + ( const QString & fileName, int verNum, QObject * parent = 0 ) + + + errorString + errorString + () + + + isLibrary + isLibrary + ( const QString & fileName ) + + + isLoaded + isLoaded + () + + + load + load + () + + + resolve + resolve + ( const char * symbol ) + + + resolve + resolve-2 + ( const QString & fileName, const char * symbol ) + + + resolve + resolve-3 + ( const QString & fileName, int verNum, const char * symbol ) + + + setFileNameAndVersion + setFileNameAndVersion + ( const QString & fileName, int versionNumber ) + + + unload + unload + () + + + library + library + () + + + setAutoUnload + setAutoUnload + ( bool b ) + + + + QLibraryInfo + qlibraryinfo.html + + LibraryLocation + LibraryLocation-enum + + + + buildKey + buildKey + () + + + licensedProducts + licensedProducts + () + + + licensee + licensee + () + + + location + location + ( LibraryLocation loc ) + + + + QLine + qline.html + + QLine + QLine + () + + + QLine + QLine-2 + ( const QPoint & p1, const QPoint & p2 ) + + + QLine + QLine-3 + ( int x1, int y1, int x2, int y2 ) + + + p1 + p1 + () + + + p2 + p2 + () + + + x1 + x1 + () + + + x2 + x2 + () + + + y1 + y1 + () + + + y2 + y2 + () + + + dx + dx + () + + + dy + dy + () + + + isNull + isNull + () + + + translate + translate + ( const QPoint & offset ) + + + translate + translate-2 + ( int dx, int dy ) + + + operator!= + operator-not-eq + ( const QLine & line ) + + + operator== + operator-eq-eq + ( const QLine & line ) + + + + QLinearGradient + qlineargradient.html + + QLinearGradient + QLinearGradient + () + + + QLinearGradient + QLinearGradient-2 + ( const QPointF & start, const QPointF & finalStop ) + + + QLinearGradient + QLinearGradient-3 + ( qreal x1, qreal y1, qreal x2, qreal y2 ) + + + finalStop + finalStop + () + + + setFinalStop + setFinalStop + ( const QPointF & stop ) + + + setFinalStop + setFinalStop-2 + ( qreal x, qreal y ) + + + setStart + setStart + ( const QPointF & start ) + + + setStart + setStart-2 + ( qreal x, qreal y ) + + + start + start + () + + + QLineEdit + QLineEdit-3 + ( QWidget * parent, const char * name ) + + + QLineEdit + QLineEdit-4 + ( const QString & contents, QWidget * parent, const char * name ) + + + QLineEdit + QLineEdit-5 + ( const QString & contents, const QString & inputMask, QWidget * parent = 0, const char * name = 0 ) + + + characterAt + characterAt + ( int xpos, QChar * chr ) + + + clearModified + clearModified + () + + + clearValidator + clearValidator + () + + + cursorLeft + cursorLeft + ( bool mark, int steps = 1 ) + + + cursorRight + cursorRight + ( bool mark, int steps = 1 ) + + + edited + edited + () + + + frame + frame + () + + + getSelection + getSelection + ( int * start, int * end ) + + + hasMarkedText + hasMarkedText + () + + + lostFocus + lostFocus + () + + + margin + margin + () + + + markedText + markedText + () + + + repaintArea + repaintArea + ( int a, int b ) + + + setEdited + setEdited + ( bool on ) + + + setMargin + setMargin + ( int margin ) + + + validateAndSet + validateAndSet + ( const QString & newText, int newPos, int newMarkAnchor, int newMarkDrag ) + + + + QLineEdit + qlineedit.html + + EchoMode + EchoMode-enum + + + + Alignment + alignment-prop + + + + QLineEdit + QLineEdit + ( QWidget * parent = 0 ) + + + QLineEdit + QLineEdit-2 + ( const QString & contents, QWidget * parent = 0 ) + + + backspace + backspace + () + + + clear + clear + () + + + completer + completer + () + + + contextMenuEvent + contextMenuEvent + ( QContextMenuEvent * event ) + + + copy + copy + () + + + createStandardContextMenu + createStandardContextMenu + () + + + cursorBackward + cursorBackward + ( bool mark, int steps = 1 ) + + + cursorForward + cursorForward + ( bool mark, int steps = 1 ) + + + cursorPositionAt + cursorPositionAt + ( const QPoint & pos ) + + + cursorPositionChanged + cursorPositionChanged + ( int old, int new ) + + + cursorWordBackward + cursorWordBackward + ( bool mark ) + + + cursorWordForward + cursorWordForward + ( bool mark ) + + + cut + cut + () + + + del + del + () + + + deselect + deselect + () + + + editingFinished + editingFinished + () + + + end + end + ( bool mark ) + + + home + home + ( bool mark ) + + + initStyleOption + initStyleOption + ( QStyleOptionFrame * option ) + + + insert + insert + ( const QString & newText ) + + + keyPressEvent + keyPressEvent + ( QKeyEvent * event ) + + + minimumSizeHint + minimumSizeHint + () + + + paste + paste + () + + + redo + redo + () + + + returnPressed + returnPressed + () + + + selectAll + selectAll + () + + + selectionChanged + selectionChanged + () + + + selectionStart + selectionStart + () + + + setCompleter + setCompleter + ( QCompleter * c ) + + + setSelection + setSelection + ( int start, int length ) + + + setValidator + setValidator + ( const QValidator * v ) + + + sizeHint + sizeHint + () + + + textChanged + textChanged + ( const QString & text ) + + + textEdited + textEdited + ( const QString & text ) + + + undo + undo + () + + + validator + validator + () + + + QLineEdit + QLineEdit-3 + ( QWidget * parent, const char * name ) + + + QLineEdit + QLineEdit-4 + ( const QString & contents, QWidget * parent, const char * name ) + + + QLineEdit + QLineEdit-5 + ( const QString & contents, const QString & inputMask, QWidget * parent = 0, const char * name = 0 ) + + + characterAt + characterAt + ( int xpos, QChar * chr ) + + + clearModified + clearModified + () + + + clearValidator + clearValidator + () + + + cursorLeft + cursorLeft + ( bool mark, int steps = 1 ) + + + cursorRight + cursorRight + ( bool mark, int steps = 1 ) + + + edited + edited + () + + + frame + frame + () + + + getSelection + getSelection + ( int * start, int * end ) + + + hasMarkedText + hasMarkedText + () + + + lostFocus + lostFocus + () + + + margin + margin + () + + + markedText + markedText + () + + + repaintArea + repaintArea + ( int a, int b ) + + + setEdited + setEdited + ( bool on ) + + + setMargin + setMargin + ( int margin ) + + + validateAndSet + validateAndSet + ( const QString & newText, int newPos, int newMarkAnchor, int newMarkDrag ) + + + + QLineF + qlinef.html + + IntersectType + IntersectType-enum + + + + QLineF + QLineF + () + + + QLineF + QLineF-2 + ( const QPointF & p1, const QPointF & p2 ) + + + QLineF + QLineF-3 + ( qreal x1, qreal y1, qreal x2, qreal y2 ) + + + QLineF + QLineF-4 + ( const QLine & line ) + + + p1 + p1 + () + + + p2 + p2 + () + + + x1 + x1 + () + + + x2 + x2 + () + + + y1 + y1 + () + + + y2 + y2 + () + + + angle + angle + ( const QLineF & line ) + + + dx + dx + () + + + dy + dy + () + + + intersect + intersect + ( const QLineF & line, QPointF * intersectionPoint ) + + + isNull + isNull + () + + + length + length + () + + + normalVector + normalVector + () + + + pointAt + pointAt + ( qreal t ) + + + setLength + setLength + ( qreal length ) + + + toLine + toLine + () + + + translate + translate + ( const QPointF & offset ) + + + translate + translate-2 + ( qreal dx, qreal dy ) + + + unitVector + unitVector + () + + + operator!= + operator-not-eq + ( const QLineF & line ) + + + operator== + operator-eq-eq + ( const QLineF & line ) + + + + QLinkedList::const_iterator + qlinkedlist-const-iterator.html + + const_iterator + const_iterator + () + + + const_iterator + const_iterator-3 + ( const const_iterator & other ) + + + const_iterator + const_iterator-4 + ( iterator other ) + + + operator!= + operator-not-eq + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator= + operator-eq + ( const const_iterator & other ) + + + operator== + operator-eq-eq + ( const const_iterator & other ) + + + + QLinkedList::iterator + qlinkedlist-iterator.html + + iterator + iterator + () + + + iterator + iterator-3 + ( const iterator & other ) + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator!= + operator-not-eq-2 + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator= + operator-eq + ( const iterator & other ) + + + operator== + operator-eq-eq + ( const iterator & other ) + + + operator== + operator-eq-eq-2 + ( const const_iterator & other ) + + + find + find + ( iterator from, const T & t ) + + + find + find-2 + ( const T & t ) + + + find + find-3 + ( const_iterator from, const T & t ) + + + find + find-4 + ( const T & t ) + + + findIndex + findIndex + ( const T & t ) + + + remove + remove + ( iterator pos ) + + + + QLinkedList + qlinkedlist.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + const_pointer + const_pointer-typedef + + + + const_reference + const_reference-typedef + + + + difference_type + difference_type-typedef + + + + pointer + pointer-typedef + + + + reference + reference-typedef + + + + size_type + size_type-typedef + + + + value_type + value_type-typedef + + + + QLinkedList + QLinkedList + () + + + QLinkedList + QLinkedList-2 + ( const QLinkedList<T> & other ) + + + append + append + ( const T & value ) + + + back + back + () + + + back + back-2 + () + + + begin + begin + () + + + begin + begin-2 + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constEnd + constEnd + () + + + contains + contains + ( const T & value ) + + + count + count + ( const T & value ) + + + count + count-2 + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + erase + erase-2 + ( iterator begin, iterator end ) + + + first + first + () + + + first + first-2 + () + + + fromStdList + fromStdList + ( const std::list<T> & list ) + + + front + front + () + + + front + front-2 + () + + + insert + insert + ( iterator before, const T & value ) + + + isEmpty + isEmpty + () + + + last + last + () + + + last + last-2 + () + + + pop_back + pop_back + () + + + pop_front + pop_front + () + + + prepend + prepend + ( const T & value ) + + + push_back + push_back + ( const T & value ) + + + push_front + push_front + ( const T & value ) + + + removeAll + removeAll + ( const T & value ) + + + removeFirst + removeFirst + () + + + removeLast + removeLast + () + + + size + size + () + + + takeFirst + takeFirst + () + + + takeLast + takeLast + () + + + list + toStdList + <T> QLinkedList::toStdList() + + + operator!= + operator-not-eq + ( const QLinkedList<T> & other ) + + + operator+ + operator-2b + ( const QLinkedList<T> & other ) + + + operator+= + operator-2b-eq + ( const QLinkedList<T> & other ) + + + operator+= + operator-2b-eq-2 + ( const T & value ) + + + operator<< + operator-lt-lt + ( const QLinkedList<T> & other ) + + + operator<< + operator-lt-lt-2 + ( const T & value ) + + + operator= + operator-eq + ( const QLinkedList<T> & other ) + + + operator== + operator-eq-eq + ( const QLinkedList<T> & other ) + + + find + find + ( iterator from, const T & t ) + + + find + find-2 + ( const T & t ) + + + find + find-3 + ( const_iterator from, const T & t ) + + + find + find-4 + ( const T & t ) + + + findIndex + findIndex + ( const T & t ) + + + remove + remove + ( iterator pos ) + + + + QLinkedListIterator + qlinkedlistiterator.html + + QLinkedListIterator + QLinkedListIterator + ( const QLinkedList<T> & list ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + operator= + operator-eq + ( const QLinkedList<T> & list ) + + + + QList::const_iterator + qlist-const-iterator.html + + const_iterator + const_iterator + () + + + const_iterator + const_iterator-3 + ( const const_iterator & other ) + + + const_iterator + const_iterator-4 + ( const iterator & other ) + + + operator!= + operator-not-eq + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator- + operator--2 + ( const_iterator other ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator< + operator-lt + ( const const_iterator & other ) + + + operator<= + operator-lt-eq + ( const const_iterator & other ) + + + operator== + operator-eq-eq + ( const const_iterator & other ) + + + operator> + operator-gt + ( const const_iterator & other ) + + + operator>= + operator-gt-eq + ( const const_iterator & other ) + + + operator[] + operator-5b-5d + ( int j ) + + + + QList::iterator + qlist-iterator.html + + iterator + iterator + () + + + iterator + iterator-3 + ( const iterator & other ) + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator!= + operator-not-eq-2 + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator- + operator--2 + ( iterator other ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator< + operator-lt + ( const iterator & other ) + + + operator< + operator-lt-2 + ( const const_iterator & other ) + + + operator<= + operator-lt-eq + ( const iterator & other ) + + + operator<= + operator-lt-eq-2 + ( const const_iterator & other ) + + + operator== + operator-eq-eq + ( const iterator & other ) + + + operator== + operator-eq-eq-2 + ( const const_iterator & other ) + + + operator> + operator-gt + ( const iterator & other ) + + + operator> + operator-gt-2 + ( const const_iterator & other ) + + + operator>= + operator-gt-eq + ( const iterator & other ) + + + operator>= + operator-gt-eq-2 + ( const const_iterator & other ) + + + operator[] + operator-5b-5d + ( int j ) + + + find + find + ( const T & t ) + + + find + find-2 + ( const T & t ) + + + find + find-3 + ( iterator from, const T & t ) + + + find + find-4 + ( const_iterator from, const T & t ) + + + findIndex + findIndex + ( const T & t ) + + + remove + remove + ( iterator pos ) + + + remove + remove-2 + ( const T & t ) + + + + QList + qlist.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + const_pointer + const_pointer-typedef + + + + const_reference + const_reference-typedef + + + + difference_type + difference_type-typedef + + + + pointer + pointer-typedef + + + + reference + reference-typedef + + + + size_type + size_type-typedef + + + + value_type + value_type-typedef + + + + QList + QList + () + + + QList + QList-2 + ( const QList<T> & other ) + + + append + append + ( const T & value ) + + + at + at + ( int i ) + + + back + back + () + + + back + back-2 + () + + + begin + begin + () + + + begin + begin-2 + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constEnd + constEnd + () + + + contains + contains + ( const T & value ) + + + count + count + ( const T & value ) + + + count + count-2 + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + erase + erase-2 + ( iterator begin, iterator end ) + + + first + first + () + + + first + first-2 + () + + + fromSet + fromSet + ( const QSet<T> & set ) + + + fromStdList + fromStdList + ( const std::list<T> & list ) + + + fromVector + fromVector + ( const QVector<T> & vector ) + + + front + front + () + + + front + front-2 + () + + + indexOf + indexOf + ( const T & value, int from = 0 ) + + + insert + insert + ( int i, const T & value ) + + + insert + insert-2 + ( iterator before, const T & value ) + + + isEmpty + isEmpty + () + + + last + last + () + + + last + last-2 + () + + + lastIndexOf + lastIndexOf + ( const T & value, int from = -1 ) + + + mid + mid + ( int pos, int length = -1 ) + + + move + move + ( int from, int to ) + + + pop_back + pop_back + () + + + pop_front + pop_front + () + + + prepend + prepend + ( const T & value ) + + + push_back + push_back + ( const T & value ) + + + push_front + push_front + ( const T & value ) + + + removeAll + removeAll + ( const T & value ) + + + removeAt + removeAt + ( int i ) + + + removeFirst + removeFirst + () + + + removeLast + removeLast + () + + + replace + replace + ( int i, const T & value ) + + + size + size + () + + + swap + swap + ( int i, int j ) + + + takeAt + takeAt + ( int i ) + + + takeFirst + takeFirst + () + + + takeLast + takeLast + () + + + toSet + toSet + () + + + list + toStdList + <T> QList::toStdList() + + + toVector + toVector + () + + + value + value + ( int i ) + + + value + value-2 + ( int i, const T & defaultValue ) + + + operator!= + operator-not-eq + ( const QList<T> & other ) + + + operator+ + operator-2b + ( const QList<T> & other ) + + + operator+= + operator-2b-eq + ( const QList<T> & other ) + + + operator+= + operator-2b-eq-2 + ( const T & value ) + + + operator<< + operator-lt-lt + ( const QList<T> & other ) + + + operator<< + operator-lt-lt-2 + ( const T & value ) + + + operator= + operator-eq + ( const QList<T> & other ) + + + operator== + operator-eq-eq + ( const QList<T> & other ) + + + operator[] + operator-5b-5d + ( int i ) + + + operator[] + operator-5b-5d-2 + ( int i ) + + + find + find + ( const T & t ) + + + find + find-2 + ( const T & t ) + + + find + find-3 + ( iterator from, const T & t ) + + + find + find-4 + ( const_iterator from, const T & t ) + + + findIndex + findIndex + ( const T & t ) + + + remove + remove + ( iterator pos ) + + + remove + remove-2 + ( const T & t ) + + + + QListIterator + qlistiterator.html + + QListIterator + QListIterator + ( const QList<T> & list ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + operator= + operator-eq + ( const QList<T> & list ) + + + + QListView + qlistview.html + + Flow + Flow-enum + + + + LayoutMode + LayoutMode-enum + + + + Movement + Movement-enum + + + + ResizeMode + ResizeMode-enum + + + + ViewMode + ViewMode-enum + + + + QListView + QListView + ( QWidget * parent = 0 ) + + + clearPropertyFlags + clearPropertyFlags + () + + + currentChanged + currentChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + indexesMoved + indexesMoved + ( const QModelIndexList & indexes ) + + + isRowHidden + isRowHidden + ( int row ) + + + rectForIndex + rectForIndex + ( const QModelIndex & index ) + + + selectionChanged + selectionChanged + ( const QItemSelection & selected, const QItemSelection & deselected ) + + + setPositionForIndex + setPositionForIndex + ( const QPoint & position, const QModelIndex & index ) + + + setRowHidden + setRowHidden + ( int row, bool hide ) + + + isItemHidden + isItemHidden + ( const QListWidgetItem * item ) + + + isItemSelected + isItemSelected + ( const QListWidgetItem * item ) + + + setItemHidden + setItemHidden + ( const QListWidgetItem * item, bool hide ) + + + setItemSelected + setItemSelected + ( const QListWidgetItem * item, bool select ) + + + + QListWidget + qlistwidget.html + + QListWidget + QListWidget + ( QWidget * parent = 0 ) + + + addItem + addItem + ( const QString & label ) + + + addItem + addItem-2 + ( QListWidgetItem * item ) + + + addItems + addItems + ( const QStringList & labels ) + + + clear + clear + () + + + closePersistentEditor + closePersistentEditor + ( QListWidgetItem * item ) + + + currentItem + currentItem + () + + + currentItemChanged + currentItemChanged + ( QListWidgetItem * current, QListWidgetItem * previous ) + + + currentRowChanged + currentRowChanged + ( int currentRow ) + + + currentTextChanged + currentTextChanged + ( const QString & currentText ) + + + dropMimeData + dropMimeData + ( int index, const QMimeData * data, Qt::DropAction action ) + + + editItem + editItem + ( QListWidgetItem * item ) + + + findItems + findItems + ( const QString & text, Qt::MatchFlags flags ) + + + indexFromItem + indexFromItem + ( QListWidgetItem * item ) + + + insertItem + insertItem + ( int row, QListWidgetItem * item ) + + + insertItem + insertItem-2 + ( int row, const QString & label ) + + + insertItems + insertItems + ( int row, const QStringList & labels ) + + + item + item + ( int row ) + + + itemActivated + itemActivated + ( QListWidgetItem * item ) + + + itemAt + itemAt + ( const QPoint & p ) + + + itemAt + itemAt-2 + ( int x, int y ) + + + itemChanged + itemChanged + ( QListWidgetItem * item ) + + + itemClicked + itemClicked + ( QListWidgetItem * item ) + + + itemDoubleClicked + itemDoubleClicked + ( QListWidgetItem * item ) + + + itemEntered + itemEntered + ( QListWidgetItem * item ) + + + itemFromIndex + itemFromIndex + ( const QModelIndex & index ) + + + itemPressed + itemPressed + ( QListWidgetItem * item ) + + + itemSelectionChanged + itemSelectionChanged + () + + + itemWidget + itemWidget + ( QListWidgetItem * item ) + + + items + items + ( const QMimeData * data ) + + + mimeData + mimeData + ( const QList<QListWidgetItem *> items ) + + + mimeTypes + mimeTypes + () + + + openPersistentEditor + openPersistentEditor + ( QListWidgetItem * item ) + + + removeItemWidget + removeItemWidget + ( QListWidgetItem * item ) + + + row + row + ( const QListWidgetItem * item ) + + + scrollToItem + scrollToItem + ( const QListWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible ) + + + selectedItems + selectedItems + () + + + setCurrentItem + setCurrentItem + ( QListWidgetItem * item ) + + + setItemWidget + setItemWidget + ( QListWidgetItem * item, QWidget * widget ) + + + sortItems + sortItems + ( Qt::SortOrder order = Qt::AscendingOrder ) + + + DropActions + supportedDropActions + QListWidget::supportedDropActions() + + + takeItem + takeItem + ( int row ) + + + visualItemRect + visualItemRect + ( const QListWidgetItem * item ) + + + backgroundColor + backgroundColor + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setTextColor + setTextColor + ( const QColor & color ) + + + textColor + textColor + () + + + + QListWidgetItem + qlistwidgetitem.html + + ItemType + ItemType-enum + + + + QListWidgetItem + QListWidgetItem + ( QListWidget * parent = 0, int type = Type ) + + + QListWidgetItem + QListWidgetItem-2 + ( const QString & text, QListWidget * parent = 0, int type = Type ) + + + QListWidgetItem + QListWidgetItem-3 + ( const QIcon & icon, const QString & text, QListWidget * parent = 0, int type = Type ) + + + QListWidgetItem + QListWidgetItem-4 + ( const QListWidgetItem & other ) + + + background + background + () + + + CheckState + checkState + QListWidgetItem::checkState() + + + clone + clone + () + + + data + data + ( int role ) + + + ItemFlags + flags + QListWidgetItem::flags() + + + font + font + () + + + foreground + foreground + () + + + icon + icon + () + + + isHidden + isHidden + () + + + isSelected + isSelected + () + + + listWidget + listWidget + () + + + read + read + ( QDataStream & in ) + + + setBackground + setBackground + ( const QBrush & brush ) + + + setCheckState + setCheckState + ( Qt::CheckState state ) + + + setData + setData + ( int role, const QVariant & value ) + + + setFlags + setFlags + ( Qt::ItemFlags flags ) + + + setFont + setFont + ( const QFont & font ) + + + setForeground + setForeground + ( const QBrush & brush ) + + + setHidden + setHidden + ( bool hide ) + + + setIcon + setIcon + ( const QIcon & icon ) + + + setSelected + setSelected + ( bool select ) + + + setSizeHint + setSizeHint + ( const QSize & size ) + + + setStatusTip + setStatusTip + ( const QString & statusTip ) + + + setText + setText + ( const QString & text ) + + + setTextAlignment + setTextAlignment + ( int alignment ) + + + setToolTip + setToolTip + ( const QString & toolTip ) + + + setWhatsThis + setWhatsThis + ( const QString & whatsThis ) + + + sizeHint + sizeHint + () + + + statusTip + statusTip + () + + + text + text + () + + + textAlignment + textAlignment + () + + + toolTip + toolTip + () + + + type + type + () + + + whatsThis + whatsThis + () + + + write + write + ( QDataStream & out ) + + + operator< + operator-lt + ( const QListWidgetItem & other ) + + + operator= + operator-eq + ( const QListWidgetItem & other ) + + + + QLocale + qlocale.html + + Country + Country-enum + + + + FormatType + FormatType-enum + + + + Language + Language-enum + + + + QLocale + QLocale + () + + + QLocale + QLocale-2 + ( const QString & name ) + + + QLocale + QLocale-3 + ( Language language, Country country = AnyCountry ) + + + QLocale + QLocale-4 + ( const QLocale & other ) + + + c + c + () + + + countriesForLanguage + countriesForLanguage + ( Language language ) + + + country + country + () + + + countryToString + countryToString + ( Country country ) + + + dateFormat + dateFormat + ( FormatType format = LongFormat ) + + + dayName + dayName + ( int day, FormatType type = LongFormat ) + + + decimalPoint + decimalPoint + () + + + exponential + exponential + () + + + groupSeparator + groupSeparator + () + + + language + language + () + + + languageToString + languageToString + ( Language language ) + + + monthName + monthName + ( int month, FormatType type = LongFormat ) + + + name + name + () + + + negativeSign + negativeSign + () + + + numberOptions + numberOptions + () + + + percent + percent + () + + + setDefault + setDefault + ( const QLocale & locale ) + + + setNumberOptions + setNumberOptions + ( NumberOptions options ) + + + system + system + () + + + timeFormat + timeFormat + ( FormatType format = LongFormat ) + + + toDouble + toDouble + ( const QString & s, bool * ok = 0 ) + + + toFloat + toFloat + ( const QString & s, bool * ok = 0 ) + + + toInt + toInt + ( const QString & s, bool * ok = 0, int base = 0 ) + + + toLongLong + toLongLong + ( const QString & s, bool * ok = 0, int base = 0 ) + + + toShort + toShort + ( const QString & s, bool * ok = 0, int base = 0 ) + + + toString + toString + ( qlonglong i ) + + + toString + toString-2 + ( const QDate & date, const QString & format ) + + + toString + toString-3 + ( const QDate & date, FormatType format = LongFormat ) + + + toString + toString-4 + ( const QTime & time, const QString & format ) + + + toString + toString-5 + ( const QTime & time, FormatType format = LongFormat ) + + + toString + toString-6 + ( qulonglong i ) + + + toString + toString-7 + ( double i, char f = 'g', int prec = 6 ) + + + toString + toString-8 + ( short i ) + + + toString + toString-9 + ( ushort i ) + + + toString + toString-10 + ( int i ) + + + toString + toString-11 + ( uint i ) + + + toString + toString-12 + ( float i, char f = 'g', int prec = 6 ) + + + toUInt + toUInt + ( const QString & s, bool * ok = 0, int base = 0 ) + + + toULongLong + toULongLong + ( const QString & s, bool * ok = 0, int base = 0 ) + + + toUShort + toUShort + ( const QString & s, bool * ok = 0, int base = 0 ) + + + zeroDigit + zeroDigit + () + + + operator!= + operator-not-eq + ( const QLocale & other ) + + + operator= + operator-eq + ( const QLocale & other ) + + + operator== + operator-eq-eq + ( const QLocale & other ) + + + + QMacPasteboardMime + qmacpasteboardmime.html + + QMacPasteboardMime + QMacPasteboardMime + ( char t ) + + + all + all + ( uchar t ) + + + canConvert + canConvert + ( const QString & mime, QString flav ) + + + convertFromMime + convertFromMime + ( const QString & mime, QVariant data, QString flav ) + + + convertToMime + convertToMime + ( const QString & mime, QList<QByteArray> data, QString flav ) + + + convertor + convertor + ( uchar t, const QString & mime, QString flav ) + + + convertorName + convertorName + () + + + flavorFor + flavorFor + ( const QString & mime ) + + + flavorToMime + flavorToMime + ( uchar t, QString flav ) + + + mimeFor + mimeFor + ( QString flav ) + + + focusRectPolicy + focusRectPolicy + ( const QWidget * w ) + + + setFocusRectPolicy + setFocusRectPolicy + ( QWidget * w, FocusRectPolicy policy ) + + + setWidgetSizePolicy + setWidgetSizePolicy + ( const QWidget * widget, WidgetSizePolicy policy ) + + + widgetSizePolicy + widgetSizePolicy + ( const QWidget * widget ) + + + + QMacStyle + qmacstyle.html + + FocusRectPolicy + FocusRectPolicy-enum + + + + WidgetSizePolicy + WidgetSizePolicy-enum + + + + QMacStyle + QMacStyle + () + + + QMainWindow + QMainWindow-2 + ( QWidget * parent, const char * name, Qt::WindowFlags flags = 0 ) + + + + QMainWindow + qmainwindow.html + + ToolButtonStyle + toolButtonStyle-prop + + + + QMainWindow + QMainWindow + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + addDockWidget + addDockWidget + ( Qt::DockWidgetArea area, QDockWidget * dockwidget ) + + + addDockWidget + addDockWidget-2 + ( Qt::DockWidgetArea area, QDockWidget * dockwidget, Qt::Orientation orientation ) + + + addToolBar + addToolBar + ( Qt::ToolBarArea area, QToolBar * toolbar ) + + + addToolBar + addToolBar-2 + ( QToolBar * toolbar ) + + + addToolBar + addToolBar-3 + ( const QString & title ) + + + addToolBarBreak + addToolBarBreak + ( Qt::ToolBarArea area = Qt::TopToolBarArea ) + + + centralWidget + centralWidget + () + + + DockWidgetArea + corner + QMainWindow::corner( Qt::Corner corner ) + + + createPopupMenu + createPopupMenu + () + + + DockWidgetArea + dockWidgetArea + QMainWindow::dockWidgetArea( QDockWidget * dockwidget ) + + + iconSizeChanged + iconSizeChanged + ( const QSize & iconSize ) + + + insertToolBar + insertToolBar + ( QToolBar * before, QToolBar * toolbar ) + + + insertToolBarBreak + insertToolBarBreak + ( QToolBar * before ) + + + menuBar + menuBar + () + + + menuWidget + menuWidget + () + + + removeDockWidget + removeDockWidget + ( QDockWidget * dockwidget ) + + + removeToolBar + removeToolBar + ( QToolBar * toolbar ) + + + removeToolBarBreak + removeToolBarBreak + ( QToolBar * before ) + + + restoreState + restoreState + ( const QByteArray & state, int version = 0 ) + + + saveState + saveState + ( int version = 0 ) + + + setCentralWidget + setCentralWidget + ( QWidget * widget ) + + + setCorner + setCorner + ( Qt::Corner corner, Qt::DockWidgetArea area ) + + + setMenuBar + setMenuBar + ( QMenuBar * menuBar ) + + + setMenuWidget + setMenuWidget + ( QWidget * menuBar ) + + + setStatusBar + setStatusBar + ( QStatusBar * statusbar ) + + + splitDockWidget + splitDockWidget + ( QDockWidget * first, QDockWidget * second, Qt::Orientation orientation ) + + + statusBar + statusBar + () + + + tabifyDockWidget + tabifyDockWidget + ( QDockWidget * first, QDockWidget * second ) + + + ToolBarArea + toolBarArea + QMainWindow::toolBarArea( QToolBar * toolbar ) + + + toolBarBreak + toolBarBreak + ( QToolBar * toolbar ) + + + toolButtonStyleChanged + toolButtonStyleChanged + ( Qt::ToolButtonStyle toolButtonStyle ) + + + QMainWindow + QMainWindow-2 + ( QWidget * parent, const char * name, Qt::WindowFlags flags = 0 ) + + + data + data + () + + + + QMap::const_iterator + qmap-const-iterator.html + + const_iterator + const_iterator + () + + + const_iterator + const_iterator-3 + ( const iterator & other ) + + + key + key + () + + + value + value + () + + + operator!= + operator-not-eq + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator== + operator-eq-eq + ( const const_iterator & other ) + + + data + data + () + + + data + data + () + + + + QMap::iterator + qmap-iterator.html + + iterator + iterator + () + + + key + key + () + + + value + value + () + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator!= + operator-not-eq-2 + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator== + operator-eq-eq + ( const iterator & other ) + + + operator== + operator-eq-eq-2 + ( const const_iterator & other ) + + + data + data + () + + + erase + erase-2 + ( const Key & key ) + + + insert + insert-2 + ( const Key & key, const T & value, bool overwrite ) + + + remove + remove-2 + ( iterator it ) + + + replace + replace + ( const Key & key, const T & value ) + + + + QMap + qmap.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + difference_type + difference_type-typedef + + + + key_type + key_type-typedef + + + + mapped_type + mapped_type-typedef + + + + size_type + size_type-typedef + + + + QMap + QMap + () + + + QMap + QMap-2 + ( const QMap<Key, T> & other ) + + + QMap + QMap-3 + ( const std::map<Key, T> & other ) + + + begin + begin + () + + + begin + begin-2 + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constEnd + constEnd + () + + + constFind + constFind + ( const Key & key ) + + + contains + contains + ( const Key & key ) + + + count + count + ( const Key & key ) + + + count + count-2 + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + find + find + ( const Key & key ) + + + find + find-2 + ( const Key & key ) + + + insert + insert + ( const Key & key, const T & value ) + + + insertMulti + insertMulti + ( const Key & key, const T & value ) + + + isEmpty + isEmpty + () + + + key + key + ( const T & value ) + + + key + key-2 + ( const T & value, const Key & defaultKey ) + + + keys + keys + () + + + keys + keys-2 + ( const T & value ) + + + lowerBound + lowerBound + ( const Key & key ) + + + lowerBound + lowerBound-2 + ( const Key & key ) + + + remove + remove + ( const Key & key ) + + + size + size + () + + + take + take + ( const Key & key ) + + + map + toStdMap + <Key, T> QMap::toStdMap() + + + uniqueKeys + uniqueKeys + () + + + unite + unite + ( const QMap<Key, T> & other ) + + + upperBound + upperBound + ( const Key & key ) + + + upperBound + upperBound-2 + ( const Key & key ) + + + value + value + ( const Key & key ) + + + value + value-2 + ( const Key & key, const T & defaultValue ) + + + values + values + () + + + values + values-2 + ( const Key & key ) + + + operator!= + operator-not-eq + ( const QMap<Key, T> & other ) + + + operator= + operator-eq + ( const QMap<Key, T> & other ) + + + operator== + operator-eq-eq + ( const QMap<Key, T> & other ) + + + operator[] + operator-5b-5d + ( const Key & key ) + + + operator[] + operator-5b-5d-2 + ( const Key & key ) + + + erase + erase-2 + ( const Key & key ) + + + insert + insert-2 + ( const Key & key, const T & value, bool overwrite ) + + + remove + remove-2 + ( iterator it ) + + + replace + replace + ( const Key & key, const T & value ) + + + + QMapIterator + qmapiterator.html + + QMapIterator + QMapIterator + ( const QMap<Key, T> & map ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + key + key + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + operator= + operator-eq + ( const QMap<Key, T> & map ) + + + invert + invert + ( bool * invertible = 0 ) + + + map + map-2 + ( const QRect & rect ) + + + mapToRegion + mapToRegion + ( const QRect & rectangle ) + + + + QMatrix + qmatrix.html + + QMatrix + QMatrix + () + + + QMatrix + QMatrix-2 + ( qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy ) + + + QMatrix + QMatrix-3 + ( const QMatrix & matrix ) + + + m11 + m11 + () + + + m12 + m12 + () + + + m21 + m21 + () + + + m22 + m22 + () + + + det + det + () + + + dx + dx + () + + + dy + dy + () + + + inverted + inverted + ( bool * invertible = 0 ) + + + isIdentity + isIdentity + () + + + isInvertible + isInvertible + () + + + map + map + ( qreal x, qreal y, qreal * tx, qreal * ty ) + + + map + map-3 + ( int x, int y, int * tx, int * ty ) + + + map + map-4 + ( const QPointF & point ) + + + map + map-5 + ( const QPoint & point ) + + + map + map-6 + ( const QLineF & line ) + + + map + map-7 + ( const QLine & line ) + + + map + map-8 + ( const QPolygonF & polygon ) + + + map + map-9 + ( const QPolygon & polygon ) + + + map + map-10 + ( const QRegion & region ) + + + map + map-11 + ( const QPainterPath & path ) + + + mapRect + mapRect + ( const QRectF & rectangle ) + + + mapRect + mapRect-2 + ( const QRect & rectangle ) + + + mapToPolygon + mapToPolygon + ( const QRect & rectangle ) + + + reset + reset + () + + + rotate + rotate + ( qreal degrees ) + + + scale + scale + ( qreal sx, qreal sy ) + + + setMatrix + setMatrix + ( qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy ) + + + shear + shear + ( qreal sh, qreal sv ) + + + translate + translate + ( qreal dx, qreal dy ) + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QMatrix & matrix ) + + + operator* + operator-2a + ( const QMatrix & matrix ) + + + operator*= + operator-2a-eq + ( const QMatrix & matrix ) + + + operator= + operator-eq + ( const QMatrix & matrix ) + + + operator== + operator-eq-eq + ( const QMatrix & matrix ) + + + invert + invert + ( bool * invertible = 0 ) + + + map + map-2 + ( const QRect & rect ) + + + mapToRegion + mapToRegion + ( const QRect & rectangle ) + + + + QMdiArea + qmdiarea.html + + WindowOrder + WindowOrder-enum + + + + QMdiArea + QMdiArea + ( QWidget * parent = 0 ) + + + activateNextSubWindow + activateNextSubWindow + () + + + activatePreviousSubWindow + activatePreviousSubWindow + () + + + activeSubWindow + activeSubWindow + () + + + addSubWindow + addSubWindow + ( QWidget * widget, Qt::WindowFlags windowFlags = 0 ) + + + cascadeSubWindows + cascadeSubWindows + () + + + closeActiveSubWindow + closeActiveSubWindow + () + + + closeAllSubWindows + closeAllSubWindows + () + + + currentSubWindow + currentSubWindow + () + + + removeSubWindow + removeSubWindow + ( QWidget * widget ) + + + setActiveSubWindow + setActiveSubWindow + ( QMdiSubWindow * window ) + + + setOption + setOption + ( AreaOption option, bool on = true ) + + + setupViewport + setupViewport + ( QWidget * viewport ) + + + subWindowActivated + subWindowActivated + ( QMdiSubWindow * window ) + + + subWindowList + subWindowList + ( WindowOrder order = CreationOrder ) + + + testOption + testOption + ( AreaOption option ) + + + tileSubWindows + tileSubWindows + () + + + + QMdiSubWindow + qmdisubwindow.html + + QMdiSubWindow + QMdiSubWindow + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + aboutToActivate + aboutToActivate + () + + + isShaded + isShaded + () + + + setOption + setOption + ( SubWindowOption option, bool on = true ) + + + setSystemMenu + setSystemMenu + ( QMenu * systemMenu ) + + + setWidget + setWidget + ( QWidget * widget ) + + + showShaded + showShaded + () + + + showSystemMenu + showSystemMenu + () + + + systemMenu + systemMenu + () + + + testOption + testOption + ( SubWindowOption option ) + + + widget + widget + () + + + windowStateChanged + windowStateChanged + ( Qt::WindowStates oldState, Qt::WindowStates newState ) + + + accel + accel + ( int id ) + + + activateItemAt + activateItemAt + ( int index ) + + + activated + activated + ( int itemId ) + + + changeItem + changeItem + ( int id, const QString & text ) + + + changeItem + changeItem-2 + ( int id, const QPixmap & pixmap ) + + + changeItem + changeItem-3 + ( int id, const QIcon & icon, const QString & text ) + + + columns + columns + () + + + connectItem + connectItem + ( int id, const QObject * receiver, const char * member ) + + + count + count + () + + + disconnectItem + disconnectItem + ( int id, const QObject * receiver, const char * member ) + + + findItem + findItem + ( int id ) + + + findPopup + findPopup + ( QMenu * popup, int * index ) + + + frameWidth + frameWidth + () + + + highlighted + highlighted + ( int itemId ) + + + iconSet + iconSet + ( int id ) + + + idAt + idAt + ( int index ) + + + indexOf + indexOf + ( int id ) + + + insertItem + insertItem + ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-2 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-3 + ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-4 + ( const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-5 + ( const QIcon & icon, const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-6 + ( const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-7 + ( const QIcon & icon, const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-8 + ( const QPixmap & pixmap, int id = -1, int index = -1 ) + + + insertItem + insertItem-9 + ( const QPixmap & pixmap, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-10 + ( QMenuItem * item, int id = -1, int index = -1 ) + + + insertSeparator + insertSeparator-2 + ( int index = -1 ) + + + insertTearOffHandle + insertTearOffHandle + ( int a = 0, int b = 0 ) + + + isCheckable + isCheckable + () + + + isItemActive + isItemActive + ( int id ) + + + isItemChecked + isItemChecked + ( int id ) + + + isItemEnabled + isItemEnabled + ( int id ) + + + isItemVisible + isItemVisible + ( int id ) + + + itemAtPos + itemAtPos + ( const QPoint & p, bool ignoreSeparator = true ) + + + itemFont + itemFont + ( int id ) + + + itemGeometry + itemGeometry + ( int index ) + + + itemHeight + itemHeight + ( int index ) + + + itemHeight + itemHeight-2 + ( QMenuItem * mi ) + + + itemParameter + itemParameter + ( int id ) + + + pixmap + pixmap + ( int id ) + + + popup + popup-2 + ( const QPoint & pos, int indexAtPoint ) + + + removeItem + removeItem + ( int id ) + + + removeItemAt + removeItemAt + ( int index ) + + + setAccel + setAccel + ( const QKeySequence & key, int id ) + + + setActiveItem + setActiveItem + ( int id ) + + + setCheckable + setCheckable + ( bool checkable ) + + + setId + setId + ( int index, int id ) + + + setItemChecked + setItemChecked + ( int id, bool check ) + + + setItemEnabled + setItemEnabled + ( int id, bool enable ) + + + setItemFont + setItemFont + ( int id, const QFont & font ) + + + setItemParameter + setItemParameter + ( int id, int param ) + + + setItemVisible + setItemVisible + ( int id, bool visible ) + + + setWhatsThis + setWhatsThis + ( int id, const QString & w ) + + + text + text + ( int id ) + + + whatsThis + whatsThis + ( int id ) + + + + QMenu + qmenu.html + + QMenu + QMenu + ( QWidget * parent = 0 ) + + + QMenu + QMenu-2 + ( const QString & title, QWidget * parent = 0 ) + + + aboutToHide + aboutToHide + () + + + aboutToShow + aboutToShow + () + + + actionAt + actionAt + ( const QPoint & pt ) + + + actionGeometry + actionGeometry + ( QAction * act ) + + + activeAction + activeAction + () + + + addAction + addAction + ( const QString & text ) + + + addAction + addAction-2 + ( const QIcon & icon, const QString & text ) + + + addAction + addAction-3 + ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0 ) + + + addAction + addAction-4 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0 ) + + + addMenu + addMenu + ( QMenu * menu ) + + + addMenu + addMenu-2 + ( const QString & title ) + + + addMenu + addMenu-3 + ( const QIcon & icon, const QString & title ) + + + addSeparator + addSeparator + () + + + clear + clear + () + + + columnCount + columnCount + () + + + defaultAction + defaultAction + () + + + exec + exec + () + + + exec + exec-2 + ( const QPoint & p, QAction * action = 0 ) + + + exec + exec-3 + ( QList<QAction *> actions, const QPoint & pos, QAction * at = 0 ) + + + hideTearOffMenu + hideTearOffMenu + () + + + hovered + hovered + ( QAction * action ) + + + initStyleOption + initStyleOption + ( QStyleOptionMenuItem * option, const QAction * action ) + + + insertMenu + insertMenu + ( QAction * before, QMenu * menu ) + + + insertSeparator + insertSeparator + ( QAction * before ) + + + isEmpty + isEmpty + () + + + isTearOffMenuVisible + isTearOffMenuVisible + () + + + menuAction + menuAction + () + + + popup + popup + ( const QPoint & p, QAction * atAction = 0 ) + + + setActiveAction + setActiveAction + ( QAction * act ) + + + setDefaultAction + setDefaultAction + ( QAction * act ) + + + triggered + triggered + ( QAction * action ) + + + accel + accel + ( int id ) + + + activateItemAt + activateItemAt + ( int index ) + + + activated + activated + ( int itemId ) + + + changeItem + changeItem + ( int id, const QString & text ) + + + changeItem + changeItem-2 + ( int id, const QPixmap & pixmap ) + + + changeItem + changeItem-3 + ( int id, const QIcon & icon, const QString & text ) + + + columns + columns + () + + + connectItem + connectItem + ( int id, const QObject * receiver, const char * member ) + + + count + count + () + + + disconnectItem + disconnectItem + ( int id, const QObject * receiver, const char * member ) + + + findItem + findItem + ( int id ) + + + findPopup + findPopup + ( QMenu * popup, int * index ) + + + frameWidth + frameWidth + () + + + highlighted + highlighted + ( int itemId ) + + + iconSet + iconSet + ( int id ) + + + idAt + idAt + ( int index ) + + + indexOf + indexOf + ( int id ) + + + insertItem + insertItem + ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-2 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-3 + ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-4 + ( const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-5 + ( const QIcon & icon, const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-6 + ( const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-7 + ( const QIcon & icon, const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-8 + ( const QPixmap & pixmap, int id = -1, int index = -1 ) + + + insertItem + insertItem-9 + ( const QPixmap & pixmap, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-10 + ( QMenuItem * item, int id = -1, int index = -1 ) + + + insertSeparator + insertSeparator-2 + ( int index = -1 ) + + + insertTearOffHandle + insertTearOffHandle + ( int a = 0, int b = 0 ) + + + isCheckable + isCheckable + () + + + isItemActive + isItemActive + ( int id ) + + + isItemChecked + isItemChecked + ( int id ) + + + isItemEnabled + isItemEnabled + ( int id ) + + + isItemVisible + isItemVisible + ( int id ) + + + itemAtPos + itemAtPos + ( const QPoint & p, bool ignoreSeparator = true ) + + + itemFont + itemFont + ( int id ) + + + itemGeometry + itemGeometry + ( int index ) + + + itemHeight + itemHeight + ( int index ) + + + itemHeight + itemHeight-2 + ( QMenuItem * mi ) + + + itemParameter + itemParameter + ( int id ) + + + pixmap + pixmap + ( int id ) + + + popup + popup-2 + ( const QPoint & pos, int indexAtPoint ) + + + removeItem + removeItem + ( int id ) + + + removeItemAt + removeItemAt + ( int index ) + + + setAccel + setAccel + ( const QKeySequence & key, int id ) + + + setActiveItem + setActiveItem + ( int id ) + + + setCheckable + setCheckable + ( bool checkable ) + + + setId + setId + ( int index, int id ) + + + setItemChecked + setItemChecked + ( int id, bool check ) + + + setItemEnabled + setItemEnabled + ( int id, bool enable ) + + + setItemFont + setItemFont + ( int id, const QFont & font ) + + + setItemParameter + setItemParameter + ( int id, int param ) + + + setItemVisible + setItemVisible + ( int id, bool visible ) + + + setWhatsThis + setWhatsThis + ( int id, const QString & w ) + + + text + text + ( int id ) + + + whatsThis + whatsThis + ( int id ) + + + Separator + Separator-enum + + + + QMenuBar + QMenuBar-2 + ( QWidget * parent, const char * name ) + + + accel + accel + ( int id ) + + + activateItemAt + activateItemAt + ( int index ) + + + activated + activated + ( int itemId ) + + + autoGeometry + autoGeometry + () + + + changeItem + changeItem + ( int id, const QString & text ) + + + changeItem + changeItem-2 + ( int id, const QPixmap & pixmap ) + + + changeItem + changeItem-3 + ( int id, const QIcon & icon, const QString & text ) + + + connectItem + connectItem + ( int id, const QObject * receiver, const char * member ) + + + count + count + () + + + disconnectItem + disconnectItem + ( int id, const QObject * receiver, const char * member ) + + + findItem + findItem + ( int id ) + + + frameWidth + frameWidth + () + + + highlighted + highlighted + ( int itemId ) + + + iconSet + iconSet + ( int id ) + + + idAt + idAt + ( int index ) + + + indexOf + indexOf + ( int id ) + + + insertItem + insertItem + ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-2 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-3 + ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-4 + ( const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-5 + ( const QIcon & icon, const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-6 + ( const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-7 + ( const QIcon & icon, const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-8 + ( const QPixmap & pixmap, int id = -1, int index = -1 ) + + + insertItem + insertItem-9 + ( const QPixmap & pixmap, QMenu * popup, int id = -1, int index = -1 ) + + + insertSeparator + insertSeparator-2 + ( int index = -1 ) + + + isItemActive + isItemActive + ( int id ) + + + isItemChecked + isItemChecked + ( int id ) + + + isItemEnabled + isItemEnabled + ( int id ) + + + isItemVisible + isItemVisible + ( int id ) + + + itemAtPos + itemAtPos + ( const QPoint & p ) + + + itemParameter + itemParameter + ( int id ) + + + itemRect + itemRect + ( int index ) + + + margin + margin + () + + + pixmap + pixmap + ( int id ) + + + removeItem + removeItem + ( int id ) + + + removeItemAt + removeItemAt + ( int index ) + + + separator + separator + () + + + setAccel + setAccel + ( const QKeySequence & key, int id ) + + + setAutoGeometry + setAutoGeometry + ( bool b ) + + + setItemChecked + setItemChecked + ( int id, bool check ) + + + setItemEnabled + setItemEnabled + ( int id, bool enable ) + + + setItemParameter + setItemParameter + ( int id, int param ) + + + setItemVisible + setItemVisible + ( int id, bool visible ) + + + setMargin + setMargin + ( int margin ) + + + setSeparator + setSeparator + ( Separator sep ) + + + setWhatsThis + setWhatsThis + ( int id, const QString & w ) + + + text + text + ( int id ) + + + whatsThis + whatsThis + ( int id ) + + + + QMenuBar + qmenubar.html + + QMenuBar + QMenuBar + ( QWidget * parent = 0 ) + + + activeAction + activeAction + () + + + addAction + addAction + ( const QString & text ) + + + addAction + addAction-2 + ( const QString & text, const QObject * receiver, const char * member ) + + + addMenu + addMenu + ( QMenu * menu ) + + + addMenu + addMenu-2 + ( const QString & title ) + + + addMenu + addMenu-3 + ( const QIcon & icon, const QString & title ) + + + addSeparator + addSeparator + () + + + clear + clear + () + + + hovered + hovered + ( QAction * action ) + + + initStyleOption + initStyleOption + ( QStyleOptionMenuItem * option, const QAction * action ) + + + insertMenu + insertMenu + ( QAction * before, QMenu * menu ) + + + insertSeparator + insertSeparator + ( QAction * before ) + + + setActiveAction + setActiveAction + ( QAction * act ) + + + triggered + triggered + ( QAction * action ) + + + Separator + Separator-enum + + + + QMenuBar + QMenuBar-2 + ( QWidget * parent, const char * name ) + + + accel + accel + ( int id ) + + + activateItemAt + activateItemAt + ( int index ) + + + activated + activated + ( int itemId ) + + + autoGeometry + autoGeometry + () + + + changeItem + changeItem + ( int id, const QString & text ) + + + changeItem + changeItem-2 + ( int id, const QPixmap & pixmap ) + + + changeItem + changeItem-3 + ( int id, const QIcon & icon, const QString & text ) + + + connectItem + connectItem + ( int id, const QObject * receiver, const char * member ) + + + count + count + () + + + disconnectItem + disconnectItem + ( int id, const QObject * receiver, const char * member ) + + + findItem + findItem + ( int id ) + + + frameWidth + frameWidth + () + + + highlighted + highlighted + ( int itemId ) + + + iconSet + iconSet + ( int id ) + + + idAt + idAt + ( int index ) + + + indexOf + indexOf + ( int id ) + + + insertItem + insertItem + ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-2 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-3 + ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0, int id = -1, int index = -1 ) + + + insertItem + insertItem-4 + ( const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-5 + ( const QIcon & icon, const QString & text, int id = -1, int index = -1 ) + + + insertItem + insertItem-6 + ( const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-7 + ( const QIcon & icon, const QString & text, QMenu * popup, int id = -1, int index = -1 ) + + + insertItem + insertItem-8 + ( const QPixmap & pixmap, int id = -1, int index = -1 ) + + + insertItem + insertItem-9 + ( const QPixmap & pixmap, QMenu * popup, int id = -1, int index = -1 ) + + + insertSeparator + insertSeparator-2 + ( int index = -1 ) + + + isItemActive + isItemActive + ( int id ) + + + isItemChecked + isItemChecked + ( int id ) + + + isItemEnabled + isItemEnabled + ( int id ) + + + isItemVisible + isItemVisible + ( int id ) + + + itemAtPos + itemAtPos + ( const QPoint & p ) + + + itemParameter + itemParameter + ( int id ) + + + itemRect + itemRect + ( int index ) + + + margin + margin + () + + + pixmap + pixmap + ( int id ) + + + removeItem + removeItem + ( int id ) + + + removeItemAt + removeItemAt + ( int index ) + + + separator + separator + () + + + setAccel + setAccel + ( const QKeySequence & key, int id ) + + + setAutoGeometry + setAutoGeometry + ( bool b ) + + + setItemChecked + setItemChecked + ( int id, bool check ) + + + setItemEnabled + setItemEnabled + ( int id, bool enable ) + + + setItemParameter + setItemParameter + ( int id, int param ) + + + setItemVisible + setItemVisible + ( int id, bool visible ) + + + setMargin + setMargin + ( int margin ) + + + setSeparator + setSeparator + ( Separator sep ) + + + setWhatsThis + setWhatsThis + ( int id, const QString & w ) + + + text + text + ( int id ) + + + whatsThis + whatsThis + ( int id ) + + + QMenuItem + QMenuItem + () + + + id + id + () + + + signalValue + signalValue + () + + + + QMenuItem + qmenuitem.html + + QMenuItem + QMenuItem + () + + + id + id + () + + + signalValue + signalValue + () + + + Button + Button-typedef + + + + QMessageBox + QMessageBox-3 + ( const QString & title, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent = 0, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint ) + + + buttonText + buttonText + ( int button ) + + + critical + critical-2 + ( QWidget * parent, const QString & title, const QString & text, int button0, int button1, int button2 = 0 ) + + + critical + critical-4 + ( QWidget * parent, const QString & title, const QString & text, const QString & button0Text, const QString & button1Text = QString() + + + information + information-2 + ( QWidget * parent, const QString & title, const QString & text, int button0, int button1 = 0, int button2 = 0 ) + + + information + information-4 + ( QWidget * parent, const QString & title, const QString & text, const QString & button0Text, const QString & button1Text = QString() + + + question + question-2 + ( QWidget * parent, const QString & title, const QString & text, int button0, int button1 = 0, int button2 = 0 ) + + + question + question-4 + ( QWidget * parent, const QString & title, const QString & text, const QString & button0Text, const QString & button1Text = QString() + + + setButtonText + setButtonText + ( int button, const QString & text ) + + + standardIcon + standardIcon-2 + ( Icon icon ) + + + warning + warning-2 + ( QWidget * parent, const QString & title, const QString & text, int button0, int button1, int button2 = 0 ) + + + warning + warning-4 + ( QWidget * parent, const QString & title, const QString & text, const QString & button0Text, const QString & button1Text = QString() + + + QMessageBox + QMessageBox-4 + ( const QString & title, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent, const char * name, bool modal, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint ) + + + QMessageBox + QMessageBox-5 + ( QWidget * parent, const char * name ) + + + message + message + ( const QString & title, const QString & text, const QString & buttonText = QString() + + + query + query + ( const QString & caption, const QString & text, const QString & yesButtonText = QString() + + + standardIcon + standardIcon + ( Icon icon, Qt::GUIStyle style ) + + + + QMessageBox + qmessagebox.html + + ButtonRole + ButtonRole-enum + + + + Icon + Icon-enum + + + + TextFormat + textFormat-prop + + + + QMessageBox + QMessageBox + ( QWidget * parent = 0 ) + + + QMessageBox + QMessageBox-2 + ( Icon icon, const QString & title, const QString & text, StandardButtons buttons = NoButton, QWidget * parent = 0, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint ) + + + about + about + ( QWidget * parent, const QString & title, const QString & text ) + + + aboutQt + aboutQt + ( QWidget * parent, const QString & title = QString() + + + addButton + addButton + ( QAbstractButton * button, ButtonRole role ) + + + addButton + addButton-2 + ( const QString & text, ButtonRole role ) + + + addButton + addButton-3 + ( StandardButton button ) + + + button + button + ( StandardButton which ) + + + clickedButton + clickedButton + () + + + critical + critical + ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton ) + + + defaultButton + defaultButton + () + + + escapeButton + escapeButton + () + + + exec + exec + () + + + information + information + ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton ) + + + question + question + ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton ) + + + removeButton + removeButton + ( QAbstractButton * button ) + + + setDefaultButton + setDefaultButton + ( QPushButton * button ) + + + setDefaultButton + setDefaultButton-2 + ( StandardButton button ) + + + setEscapeButton + setEscapeButton + ( QAbstractButton * button ) + + + setEscapeButton + setEscapeButton-2 + ( StandardButton button ) + + + setWindowModality + setWindowModality + ( Qt::WindowModality windowModality ) + + + setWindowTitle + setWindowTitle + ( const QString & title ) + + + standardButton + standardButton + ( QAbstractButton * button ) + + + warning + warning + ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton ) + + + QMessageBox + QMessageBox-4 + ( const QString & title, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent, const char * name, bool modal, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint ) + + + QMessageBox + QMessageBox-5 + ( QWidget * parent, const char * name ) + + + message + message + ( const QString & title, const QString & text, const QString & buttonText = QString() + + + query + query + ( const QString & caption, const QString & text, const QString & yesButtonText = QString() + + + standardIcon + standardIcon + ( Icon icon, Qt::GUIStyle style ) + + + + QMetaClassInfo + qmetaclassinfo.html + + name + name + () + + + value + value + () + + + + QMetaEnum + qmetaenum.html + + isFlag + isFlag + () + + + isValid + isValid + () + + + key + key + ( int index ) + + + keyCount + keyCount + () + + + keyToValue + keyToValue + ( const char * key ) + + + keysToValue + keysToValue + ( const char * keys ) + + + name + name + () + + + scope + scope + () + + + value + value + ( int index ) + + + valueToKey + valueToKey + ( int value ) + + + valueToKeys + valueToKeys + ( int value ) + + + + QMetaMethod + qmetamethod.html + + MethodType + MethodType-enum + + + + access + access + () + + + methodType + methodType + () + + + parameterNames + parameterNames + () + + + parameterTypes + parameterTypes + () + + + signature + signature + () + + + tag + tag + () + + + typeName + typeName + () + + + + QMetaObject + qmetaobject.html + + checkConnectArgs + checkConnectArgs + ( const char * signal, const char * method ) + + + classInfo + classInfo + ( int index ) + + + classInfoCount + classInfoCount + () + + + classInfoOffset + classInfoOffset + () + + + className + className + () + + + connectSlotsByName + connectSlotsByName + ( QObject * object ) + + + enumerator + enumerator + ( int index ) + + + enumeratorCount + enumeratorCount + () + + + enumeratorOffset + enumeratorOffset + () + + + indexOfClassInfo + indexOfClassInfo + ( const char * name ) + + + indexOfEnumerator + indexOfEnumerator + ( const char * name ) + + + indexOfMethod + indexOfMethod + ( const char * method ) + + + indexOfProperty + indexOfProperty + ( const char * name ) + + + indexOfSignal + indexOfSignal + ( const char * signal ) + + + indexOfSlot + indexOfSlot + ( const char * slot ) + + + invokeMethod + invokeMethod + ( QObject * obj, const char * member, Qt::ConnectionType type, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument( 0 ) + + + invokeMethod + invokeMethod-2 + ( QObject * obj, const char * member, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument( 0 ) + + + invokeMethod + invokeMethod-3 + ( QObject * obj, const char * member, Qt::ConnectionType type, QGenericArgument val0 = QGenericArgument( 0 ) + + + invokeMethod + invokeMethod-4 + ( QObject * obj, const char * member, QGenericArgument val0 = QGenericArgument( 0 ) + + + method + method + ( int index ) + + + methodCount + methodCount + () + + + methodOffset + methodOffset + () + + + normalizedSignature + normalizedSignature + ( const char * method ) + + + normalizedType + normalizedType + ( const char * type ) + + + property + property + ( int index ) + + + propertyCount + propertyCount + () + + + propertyOffset + propertyOffset + () + + + superClass + superClass + () + + + userProperty + userProperty + () + + + isEditable + isEditable + ( const QObject * object = 0 ) + + + + QMetaProperty + qmetaproperty.html + + enumerator + enumerator + () + + + isDesignable + isDesignable + ( const QObject * object = 0 ) + + + isEnumType + isEnumType + () + + + isFlagType + isFlagType + () + + + isReadable + isReadable + () + + + isResettable + isResettable + () + + + isScriptable + isScriptable + ( const QObject * object = 0 ) + + + isStored + isStored + ( const QObject * object = 0 ) + + + isUser + isUser + ( const QObject * object = 0 ) + + + isValid + isValid + () + + + isWritable + isWritable + () + + + name + name + () + + + read + read + ( const QObject * object ) + + + reset + reset + ( QObject * object ) + + + Type + type + QMetaProperty::type() + + + typeName + typeName + () + + + userType + userType + () + + + write + write + ( QObject * object, const QVariant & value ) + + + + QMetaType + qmetatype.html + + Type + Type-enum + + + + construct + construct + ( int type, const void * copy = 0 ) + + + destroy + destroy + ( int type, void * data ) + + + isRegistered + isRegistered + ( int type ) + + + load + load + ( QDataStream & stream, int type, void * data ) + + + save + save + ( QDataStream & stream, int type, const void * data ) + + + type + type + ( const char * typeName ) + + + typeName + typeName + ( int type ) + + + + QMimeData + qmimedata.html + + QMimeData + QMimeData + () + + + clear + clear + () + + + colorData + colorData + () + + + data + data + ( const QString & mimeType ) + + + formats + formats + () + + + hasColor + hasColor + () + + + hasFormat + hasFormat + ( const QString & mimeType ) + + + hasHtml + hasHtml + () + + + hasImage + hasImage + () + + + hasText + hasText + () + + + hasUrls + hasUrls + () + + + html + html + () + + + imageData + imageData + () + + + retrieveData + retrieveData + ( const QString & mimeType, QVariant::Type type ) + + + setColorData + setColorData + ( const QVariant & color ) + + + setData + setData + ( const QString & mimeType, const QByteArray & data ) + + + setHtml + setHtml + ( const QString & html ) + + + setImageData + setImageData + ( const QVariant & image ) + + + setText + setText + ( const QString & text ) + + + setUrls + setUrls + ( const QList<QUrl> & urls ) + + + text + text + () + + + urls + urls + () + + + + QMimeSource + qmimesource.html + + encodedData + encodedData + ( const char * format ) + + + format + format + ( int i = 0 ) + + + provides + provides + ( const char * mimeType ) + + + + QModelIndex + qmodelindex.html + + QModelIndex + QModelIndex + () + + + QModelIndex + QModelIndex-2 + ( const QModelIndex & other ) + + + child + child + ( int row, int column ) + + + column + column + () + + + data + data + ( int role = Qt::DisplayRole ) + + + ItemFlags + flags + QModelIndex::flags() + + + internalId + internalId + () + + + internalPointer + internalPointer + () + + + isValid + isValid + () + + + model + model + () + + + parent + parent + () + + + row + row + () + + + sibling + sibling + ( int row, int column ) + + + operator!= + operator-not-eq + ( const QModelIndex & other ) + + + operator< + operator-lt + ( const QModelIndex & other ) + + + operator== + operator-eq-eq + ( const QModelIndex & other ) + + + + QMotifStyle + qmotifstyle.html + + QMotifStyle + QMotifStyle + ( bool useHighlightCols = false ) + + + setUseHighlightColors + setUseHighlightColors + ( bool arg ) + + + useHighlightColors + useHighlightColors + () + + + + QMouseDriverFactory + qmousedriverfactory.html + + create + create + ( const QString & key, const QString & device ) + + + keys + keys + () + + + + QMouseDriverPlugin + qmousedriverplugin.html + + QMouseDriverPlugin + QMouseDriverPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key, const QString & device ) + + + keys + keys + () + + + QMouseEvent + QMouseEvent-3 + ( Type type, const QPoint & pos, Qt::ButtonState button, int state ) + + + QMouseEvent + QMouseEvent-4 + ( Type type, const QPoint & pos, const QPoint & globalPos, Qt::ButtonState button, int state ) + + + ButtonState + state + QMouseEvent::state() + + + ButtonState + stateAfter + QMouseEvent::stateAfter() + + + + QMouseEvent + qmouseevent.html + + QMouseEvent + QMouseEvent + ( Type type, const QPoint & position, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ) + + + QMouseEvent + QMouseEvent-2 + ( Type type, const QPoint & pos, const QPoint & globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ) + + + MouseButton + button + QMouseEvent::button() + + + MouseButtons + buttons + QMouseEvent::buttons() + + + globalPos + globalPos + () + + + globalX + globalX + () + + + globalY + globalY + () + + + pos + pos + () + + + x + x + () + + + y + y + () + + + QMouseEvent + QMouseEvent-3 + ( Type type, const QPoint & pos, Qt::ButtonState button, int state ) + + + QMouseEvent + QMouseEvent-4 + ( Type type, const QPoint & pos, const QPoint & globalPos, Qt::ButtonState button, int state ) + + + ButtonState + state + QMouseEvent::state() + + + ButtonState + stateAfter + QMouseEvent::stateAfter() + + + + QMoveEvent + qmoveevent.html + + QMoveEvent + QMoveEvent + ( const QPoint & pos, const QPoint & oldPos ) + + + oldPos + oldPos + () + + + pos + pos + () + + + finished + finished-2 + () + + + frameImage + frameImage + () + + + frameNumber + frameNumber + () + + + framePixmap + framePixmap + () + + + isNull + isNull + () + + + pause + pause + () + + + paused + paused + () + + + restart + restart + () + + + running + running + () + + + step + step + () + + + unpause + unpause + () + + + + QMovie + qmovie.html + + CacheMode + CacheMode-enum + + + + MovieState + MovieState-enum + + + + QMovie + QMovie + ( QObject * parent = 0 ) + + + QMovie + QMovie-2 + ( QIODevice * device, const QByteArray & format = QByteArray() + + + QMovie + QMovie-3 + ( const QString & fileName, const QByteArray & format = QByteArray() + + + backgroundColor + backgroundColor + () + + + currentFrameNumber + currentFrameNumber + () + + + currentImage + currentImage + () + + + currentPixmap + currentPixmap + () + + + device + device + () + + + error + error + ( QImageReader::ImageReaderError error ) + + + fileName + fileName + () + + + finished + finished + () + + + format + format + () + + + frameChanged + frameChanged + ( int frameNumber ) + + + frameCount + frameCount + () + + + frameRect + frameRect + () + + + isValid + isValid + () + + + jumpToFrame + jumpToFrame + ( int frameNumber ) + + + jumpToNextFrame + jumpToNextFrame + () + + + loopCount + loopCount + () + + + nextFrameDelay + nextFrameDelay + () + + + resized + resized + ( const QSize & size ) + + + scaledSize + scaledSize + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setDevice + setDevice + ( QIODevice * device ) + + + setFileName + setFileName + ( const QString & fileName ) + + + setFormat + setFormat + ( const QByteArray & format ) + + + setPaused + setPaused + ( bool paused ) + + + setScaledSize + setScaledSize + ( const QSize & size ) + + + start + start + () + + + started + started + () + + + state + state + () + + + stateChanged + stateChanged + ( QMovie::MovieState state ) + + + stop + stop + () + + + supportedFormats + supportedFormats + () + + + updated + updated + ( const QRect & rect ) + + + finished + finished-2 + () + + + frameImage + frameImage + () + + + frameNumber + frameNumber + () + + + framePixmap + framePixmap + () + + + isNull + isNull + () + + + pause + pause + () + + + paused + paused + () + + + restart + restart + () + + + running + running + () + + + step + step + () + + + unpause + unpause + () + + + + QMultiHash + qmultihash.html + + QMultiHash + QMultiHash + () + + + QMultiHash + QMultiHash-2 + ( const QHash<Key, T> & other ) + + + constFind + constFind + ( const Key & key, const T & value ) + + + contains + contains + ( const Key & key, const T & value ) + + + count + count + ( const Key & key, const T & value ) + + + find + find + ( const Key & key, const T & value ) + + + find + find-2 + ( const Key & key, const T & value ) + + + insert + insert + ( const Key & key, const T & value ) + + + remove + remove + ( const Key & key, const T & value ) + + + replace + replace + ( const Key & key, const T & value ) + + + operator+ + operator-2b + ( const QMultiHash & other ) + + + operator+= + operator-2b-eq + ( const QMultiHash & other ) + + + + QMultiMap + qmultimap.html + + QMultiMap + QMultiMap + () + + + QMultiMap + QMultiMap-2 + ( const QMap<Key, T> & other ) + + + constFind + constFind + ( const Key & key, const T & value ) + + + contains + contains + ( const Key & key, const T & value ) + + + count + count + ( const Key & key, const T & value ) + + + find + find + ( const Key & key, const T & value ) + + + find + find-2 + ( const Key & key, const T & value ) + + + insert + insert + ( const Key & key, const T & value ) + + + remove + remove + ( const Key & key, const T & value ) + + + replace + replace + ( const Key & key, const T & value ) + + + operator+ + operator-2b + ( const QMultiMap & other ) + + + operator+= + operator-2b-eq + ( const QMultiMap & other ) + + + + QMutableHashIterator + qmutablehashiterator.html + + QMutableHashIterator + QMutableHashIterator + ( QHash<Key, T> & hash ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + key + key + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const T & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + value + value-2 + () + + + operator= + operator-eq + ( QHash<Key, T> & hash ) + + + + QMutableLinkedListIterator + qmutablelinkedlistiterator.html + + QMutableLinkedListIterator + QMutableLinkedListIterator + ( QLinkedList<T> & list ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + insert + insert + ( const T & value ) + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const T & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + value + value-2 + () + + + operator= + operator-eq + ( QLinkedList<T> & list ) + + + + QMutableListIterator + qmutablelistiterator.html + + QMutableListIterator + QMutableListIterator + ( QList<T> & list ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + insert + insert + ( const T & value ) + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const T & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + value + value-2 + () + + + operator= + operator-eq + ( QList<T> & list ) + + + + QMutableMapIterator + qmutablemapiterator.html + + QMutableMapIterator + QMutableMapIterator + ( QMap<Key, T> & map ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + key + key + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const T & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + value + value-2 + () + + + operator= + operator-eq + ( QMap<Key, T> & map ) + + + + QMutableSetIterator + qmutablesetiterator.html + + QMutableSetIterator + QMutableSetIterator + ( QSet<T> & set ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + operator= + operator-eq + ( QSet<T> & set ) + + + + QMutableVectorIterator + qmutablevectoriterator.html + + QMutableVectorIterator + QMutableVectorIterator + ( QVector<T> & vector ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + insert + insert + ( const T & value ) + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const T & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + value + value-2 + () + + + operator= + operator-eq + ( QVector<T> & vector ) + + + QMutex + QMutex-2 + ( bool recursive ) + + + locked + locked + () + + + + QMutex + qmutex.html + + RecursionMode + RecursionMode-enum + + + + QMutex + QMutex + ( RecursionMode mode = NonRecursive ) + + + lock + lock + () + + + tryLock + tryLock + () + + + tryLock + tryLock-2 + ( int timeout ) + + + unlock + unlock + () + + + QMutex + QMutex-2 + ( bool recursive ) + + + locked + locked + () + + + + QMutexLocker + qmutexlocker.html + + QMutexLocker + QMutexLocker + ( QMutex * mutex ) + + + mutex + mutex + () + + + relock + relock + () + + + unlock + unlock + () + + + + QNetworkAddressEntry + qnetworkaddressentry.html + + QNetworkAddressEntry + QNetworkAddressEntry + () + + + QNetworkAddressEntry + QNetworkAddressEntry-2 + ( const QNetworkAddressEntry & other ) + + + broadcast + broadcast + () + + + ip + ip + () + + + netmask + netmask + () + + + setBroadcast + setBroadcast + ( const QHostAddress & newBroadcast ) + + + setIp + setIp + ( const QHostAddress & newIp ) + + + setNetmask + setNetmask + ( const QHostAddress & newNetmask ) + + + operator= + operator-eq + ( const QNetworkAddressEntry & other ) + + + + QNetworkInterface + qnetworkinterface.html + + QNetworkInterface + QNetworkInterface + () + + + QNetworkInterface + QNetworkInterface-2 + ( const QNetworkInterface & other ) + + + addressEntries + addressEntries + () + + + allAddresses + allAddresses + () + + + allInterfaces + allInterfaces + () + + + flags + flags + () + + + hardwareAddress + hardwareAddress + () + + + interfaceFromIndex + interfaceFromIndex + ( int index ) + + + interfaceFromName + interfaceFromName + ( const QString & name ) + + + isValid + isValid + () + + + name + name + () + + + operator= + operator-eq + ( const QNetworkInterface & other ) + + + + QNetworkProxy + qnetworkproxy.html + + ProxyType + ProxyType-enum + + + + QNetworkProxy + QNetworkProxy + () + + + QNetworkProxy + QNetworkProxy-2 + ( ProxyType type, const QString & hostName = QString() + + + QNetworkProxy + QNetworkProxy-3 + ( const QNetworkProxy & other ) + + + applicationProxy + applicationProxy + () + + + hostName + hostName + () + + + password + password + () + + + port + port + () + + + setApplicationProxy + setApplicationProxy + ( const QNetworkProxy & networkProxy ) + + + setHostName + setHostName + ( const QString & hostName ) + + + setPassword + setPassword + ( const QString & password ) + + + setPort + setPort + ( quint16 port ) + + + setType + setType + ( QNetworkProxy::ProxyType type ) + + + setUser + setUser + ( const QString & user ) + + + ProxyType + type + QNetworkProxy::type() + + + user + user + () + + + operator= + operator-eq + ( const QNetworkProxy & other ) + + + QObject + QObject-3 + ( QObject * parent, const char * name ) + + + checkConnectArgs + checkConnectArgs + ( const char * signal, const QObject * object, const char * method ) + + + child + child + ( const char * objName, const char * inheritsClass = 0, bool recursiveSearch = true ) + + + className + className + () + + + insertChild + insertChild + ( QObject * object ) + + + isA + isA + ( const char * className ) + + + name + name + () + + + name + name-2 + ( const char * defaultName ) + + + normalizeSignalSlot + normalizeSignalSlot + ( const char * signalSlot ) + + + removeChild + removeChild + ( QObject * object ) + + + setName + setName + ( const char * name ) + + + + QObject + qobject.html + + QObject + QObject + ( QObject * parent = 0 ) + + + blockSignals + blockSignals + ( bool block ) + + + childEvent + childEvent + ( QChildEvent * event ) + + + children + children + () + + + connect + connect + ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoCompatConnection ) + + + connect + connect-2 + ( const QObject * sender, const char * signal, const char * method, Qt::ConnectionType type = Qt::AutoCompatConnection ) + + + connectNotify + connectNotify + ( const char * signal ) + + + customEvent + customEvent + ( QEvent * event ) + + + deleteLater + deleteLater + () + + + destroyed + destroyed + ( QObject * obj = 0 ) + + + disconnect + disconnect + ( const QObject * sender, const char * signal, const QObject * receiver, const char * method ) + + + disconnect + disconnect-2 + ( const char * signal = 0, const QObject * receiver = 0, const char * method = 0 ) + + + disconnect + disconnect-3 + ( const QObject * receiver, const char * method = 0 ) + + + disconnectNotify + disconnectNotify + ( const char * signal ) + + + dumpObjectInfo + dumpObjectInfo + () + + + dumpObjectTree + dumpObjectTree + () + + + dynamicPropertyNames + dynamicPropertyNames + () + + + event + event + ( QEvent * e ) + + + eventFilter + eventFilter + ( QObject * watched, QEvent * event ) + + + findChild + findChild + ( const QString & name = QString() + + + findChildren + findChildren + ( const QString & name = QString() + + + findChildren + findChildren-2 + ( const QRegExp & regExp ) + + + inherits + inherits + ( const char * className ) + + + installEventFilter + installEventFilter + ( QObject * filterObj ) + + + isWidgetType + isWidgetType + () + + + killTimer + killTimer + ( int id ) + + + metaObject + metaObject + () + + + moveToThread + moveToThread + ( QThread * targetThread ) + + + parent + parent + () + + + property + property + ( const char * name ) + + + receivers + receivers + ( const char * signal ) + + + removeEventFilter + removeEventFilter + ( QObject * obj ) + + + sender + sender + () + + + setParent + setParent + ( QObject * parent ) + + + setProperty + setProperty + ( const char * name, const QVariant & value ) + + + signalsBlocked + signalsBlocked + () + + + startTimer + startTimer + ( int interval ) + + + thread + thread + () + + + timerEvent + timerEvent + ( QTimerEvent * event ) + + + tr + tr + ( const char * sourceText, const char * comment = 0, int n = -1 ) + + + trUtf8 + trUtf8 + ( const char * sourceText, const char * comment = 0, int n = -1 ) + + + staticMetaObject + staticMetaObject-var + + + + QObject + QObject-3 + ( QObject * parent, const char * name ) + + + checkConnectArgs + checkConnectArgs + ( const char * signal, const QObject * object, const char * method ) + + + child + child + ( const char * objName, const char * inheritsClass = 0, bool recursiveSearch = true ) + + + className + className + () + + + insertChild + insertChild + ( QObject * object ) + + + isA + isA + ( const char * className ) + + + name + name + () + + + name + name-2 + ( const char * defaultName ) + + + normalizeSignalSlot + normalizeSignalSlot + ( const char * signalSlot ) + + + removeChild + removeChild + ( QObject * object ) + + + setName + setName + ( const char * name ) + + + + QObjectCleanupHandler + qobjectcleanuphandler.html + + QObjectCleanupHandler + QObjectCleanupHandler + () + + + add + add + ( QObject * object ) + + + clear + clear + () + + + isEmpty + isEmpty + () + + + remove + remove + ( QObject * object ) + + + + QPageSetupDialog + qpagesetupdialog.html + + QPageSetupDialog + QPageSetupDialog + ( QPrinter * printer, QWidget * parent = 0 ) + + + printer + printer + () + + + x11AppCells + x11AppCells + ( int screen = -1 ) + + + HANDLE + x11AppColormap + QPaintDevice::x11AppColormap( int screen = -1 ) + + + x11AppDefaultColormap + x11AppDefaultColormap + ( int screen = -1 ) + + + x11AppDefaultVisual + x11AppDefaultVisual + ( int screen = -1 ) + + + x11AppDepth + x11AppDepth + ( int screen = -1 ) + + + x11AppDisplay + x11AppDisplay + () + + + x11AppDpiX + x11AppDpiX + ( int screen = -1 ) + + + x11AppDpiY + x11AppDpiY + ( int screen = -1 ) + + + HANDLE + x11AppRootWindow + QPaintDevice::x11AppRootWindow( int screen = -1 ) + + + x11AppScreen + x11AppScreen + () + + + x11AppVisual + x11AppVisual + ( int screen = -1 ) + + + x11Cells + x11Cells + () + + + HANDLE + x11Colormap + QPaintDevice::x11Colormap() + + + x11DefaultColormap + x11DefaultColormap + () + + + x11DefaultVisual + x11DefaultVisual + () + + + x11Depth + x11Depth + () + + + x11Display + x11Display + () + + + x11Screen + x11Screen + () + + + x11SetAppDpiX + x11SetAppDpiX + ( int dpi, int screen ) + + + x11SetAppDpiY + x11SetAppDpiY + ( int dpi, int screen ) + + + x11Visual + x11Visual + () + + + + QPaintDevice + qpaintdevice.html + + PaintDeviceMetric + PaintDeviceMetric-enum + + + + QPaintDevice + QPaintDevice + () + + + depth + depth + () + + + height + height + () + + + heightMM + heightMM + () + + + logicalDpiX + logicalDpiX + () + + + logicalDpiY + logicalDpiY + () + + + metric + metric + ( PaintDeviceMetric metric ) + + + numColors + numColors + () + + + paintEngine + paintEngine + () + + + paintingActive + paintingActive + () + + + physicalDpiX + physicalDpiX + () + + + physicalDpiY + physicalDpiY + () + + + width + width + () + + + widthMM + widthMM + () + + + x11AppCells + x11AppCells + ( int screen = -1 ) + + + HANDLE + x11AppColormap + QPaintDevice::x11AppColormap( int screen = -1 ) + + + x11AppDefaultColormap + x11AppDefaultColormap + ( int screen = -1 ) + + + x11AppDefaultVisual + x11AppDefaultVisual + ( int screen = -1 ) + + + x11AppDepth + x11AppDepth + ( int screen = -1 ) + + + x11AppDisplay + x11AppDisplay + () + + + x11AppDpiX + x11AppDpiX + ( int screen = -1 ) + + + x11AppDpiY + x11AppDpiY + ( int screen = -1 ) + + + HANDLE + x11AppRootWindow + QPaintDevice::x11AppRootWindow( int screen = -1 ) + + + x11AppScreen + x11AppScreen + () + + + x11AppVisual + x11AppVisual + ( int screen = -1 ) + + + x11Cells + x11Cells + () + + + HANDLE + x11Colormap + QPaintDevice::x11Colormap() + + + x11DefaultColormap + x11DefaultColormap + () + + + x11DefaultVisual + x11DefaultVisual + () + + + x11Depth + x11Depth + () + + + x11Display + x11Display + () + + + x11Screen + x11Screen + () + + + x11SetAppDpiX + x11SetAppDpiX + ( int dpi, int screen ) + + + x11SetAppDpiY + x11SetAppDpiY + ( int dpi, int screen ) + + + x11Visual + x11Visual + () + + + + QPaintEngine + qpaintengine.html + + PolygonDrawMode + PolygonDrawMode-enum + + + + Type + Type-enum + + + + QPaintEngine + QPaintEngine + ( PaintEngineFeatures caps = 0 ) + + + begin + begin + ( QPaintDevice * pdev ) + + + drawEllipse + drawEllipse + ( const QRectF & rect ) + + + drawEllipse + drawEllipse-2 + ( const QRect & rect ) + + + drawImage + drawImage + ( const QRectF & rectangle, const QImage & image, const QRectF & sr, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawLines + drawLines + ( const QLineF * lines, int lineCount ) + + + drawLines + drawLines-2 + ( const QLine * lines, int lineCount ) + + + drawPath + drawPath + ( const QPainterPath & path ) + + + drawPixmap + drawPixmap + ( const QRectF & r, const QPixmap & pm, const QRectF & sr ) + + + drawPoints + drawPoints + ( const QPointF * points, int pointCount ) + + + drawPoints + drawPoints-2 + ( const QPoint * points, int pointCount ) + + + drawPolygon + drawPolygon + ( const QPointF * points, int pointCount, PolygonDrawMode mode ) + + + drawPolygon + drawPolygon-2 + ( const QPoint * points, int pointCount, PolygonDrawMode mode ) + + + drawRects + drawRects + ( const QRectF * rects, int rectCount ) + + + drawRects + drawRects-2 + ( const QRect * rects, int rectCount ) + + + drawTextItem + drawTextItem + ( const QPointF & p, const QTextItem & textItem ) + + + drawTiledPixmap + drawTiledPixmap + ( const QRectF & rect, const QPixmap & pixmap, const QPointF & p ) + + + end + end + () + + + hasFeature + hasFeature + ( PaintEngineFeatures feature ) + + + isActive + isActive + () + + + paintDevice + paintDevice + () + + + painter + painter + () + + + setActive + setActive + ( bool state ) + + + type + type + () + + + updateState + updateState + ( const QPaintEngineState & state ) + + + + QPaintEngineState + qpaintenginestate.html + + backgroundBrush + backgroundBrush + () + + + BGMode + backgroundMode + QPaintEngineState::backgroundMode() + + + brush + brush + () + + + brushNeedsResolving + brushNeedsResolving + () + + + brushOrigin + brushOrigin + () + + + ClipOperation + clipOperation + QPaintEngineState::clipOperation() + + + clipPath + clipPath + () + + + clipRegion + clipRegion + () + + + CompositionMode + compositionMode + QPaintEngineState::compositionMode() + + + font + font + () + + + isClipEnabled + isClipEnabled + () + + + matrix + matrix + () + + + opacity + opacity + () + + + painter + painter + () + + + pen + pen + () + + + penNeedsResolving + penNeedsResolving + () + + + RenderHints + renderHints + QPaintEngineState::renderHints() + + + DirtyFlags + state + QPaintEngineState::state() + + + transform + transform + () + + + matrix + matrix + () + + + matrixEnabled + matrixEnabled + () + + + setMatrix + setMatrix + ( const QMatrix & matrix, bool combine = false ) + + + setMatrixEnabled + setMatrixEnabled + ( bool enable ) + + + backgroundColor + backgroundColor + () + + + begin + begin-2 + ( QPaintDevice * device, const QWidget * init ) + + + boundingRect + boundingRect-2 + ( const QRect & rectangle, int flags, const QString & text, int length ) + + + boundingRect + boundingRect-3 + ( int x, int y, int width, int height, int flags, const QString & text, int length ) + + + drawConvexPolygon + drawConvexPolygon-5 + ( const QPolygonF & polygon, int index, int count = -1 ) + + + drawConvexPolygon + drawConvexPolygon-6 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawCubicBezier + drawCubicBezier + ( const QPolygon & controlPoints, int index = 0 ) + + + drawLineSegments + drawLineSegments + ( const QPolygon & polygon, int index = 0, int count = -1 ) + + + drawPoints + drawPoints-5 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawPolygon + drawPolygon-3 + ( const QPolygonF & polygon, bool winding, int index = 0, int count = -1 ) + + + drawPolygon + drawPolygon-4 + ( const QPolygon & polygon, bool winding, int index = 0, int count = -1 ) + + + drawPolyline + drawPolyline-3 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawText + drawText-2 + ( int x, int y, const QString & text, int pos, int length ) + + + drawText + drawText-3 + ( const QPoint & point, const QString & text, int pos, int length ) + + + drawText + drawText-4 + ( int x, int y, const QString & text, int length ) + + + drawText + drawText-5 + ( const QPoint & point, const QString & text, int length ) + + + drawText + drawText-6 + ( const QRect & rectangle, int flags, const QString & text, int length, QRect * br = 0 ) + + + drawText + drawText-7 + ( int x, int y, int width, int height, int flags, const QString & text, int length, QRect * br = 0 ) + + + hasViewXForm + hasViewXForm + () + + + hasWorldXForm + hasWorldXForm + () + + + redirect + redirect + ( QPaintDevice * pdev, QPaintDevice * replacement ) + + + redirect + redirect-2 + ( QPaintDevice * pdev ) + + + resetXForm + resetXForm + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setViewXForm + setViewXForm + ( bool enabled ) + + + setWorldXForm + setWorldXForm + ( bool enabled ) + + + translationX + translationX + () + + + translationY + translationY + () + + + xForm + xForm + ( const QPoint & point ) + + + xForm + xForm-2 + ( const QRect & rectangle ) + + + xForm + xForm-3 + ( const QPolygon & polygon ) + + + xForm + xForm-4 + ( const QPolygon & polygon, int index, int count ) + + + xFormDev + xFormDev + ( const QPoint & point ) + + + xFormDev + xFormDev-2 + ( const QRect & rectangle ) + + + xFormDev + xFormDev-3 + ( const QPolygon & polygon ) + + + xFormDev + xFormDev-4 + ( const QPolygon & polygon, int index, int count ) + + + + QPainter + qpainter.html + + CompositionMode + CompositionMode-enum + + + + QPainter + QPainter + () + + + QPainter + QPainter-2 + ( QPaintDevice * device ) + + + background + background + () + + + BGMode + backgroundMode + QPainter::backgroundMode() + + + begin + begin + ( QPaintDevice * device ) + + + boundingRect + boundingRect + ( const QRectF & rectangle, int flags, const QString & text ) + + + boundingRect + boundingRect-4 + ( const QRect & rectangle, int flags, const QString & text ) + + + boundingRect + boundingRect-5 + ( int x, int y, int w, int h, int flags, const QString & text ) + + + boundingRect + boundingRect-6 + ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() + + + brush + brush + () + + + brushOrigin + brushOrigin + () + + + clipPath + clipPath + () + + + clipRegion + clipRegion + () + + + combinedMatrix + combinedMatrix + () + + + combinedTransform + combinedTransform + () + + + compositionMode + compositionMode + () + + + device + device + () + + + deviceMatrix + deviceMatrix + () + + + deviceTransform + deviceTransform + () + + + drawArc + drawArc + ( const QRectF & rectangle, int startAngle, int spanAngle ) + + + drawArc + drawArc-2 + ( const QRect & rectangle, int startAngle, int spanAngle ) + + + drawArc + drawArc-3 + ( int x, int y, int width, int height, int startAngle, int spanAngle ) + + + drawChord + drawChord + ( const QRectF & rectangle, int startAngle, int spanAngle ) + + + drawChord + drawChord-2 + ( const QRect & rectangle, int startAngle, int spanAngle ) + + + drawChord + drawChord-3 + ( int x, int y, int width, int height, int startAngle, int spanAngle ) + + + drawConvexPolygon + drawConvexPolygon + ( const QPointF * points, int pointCount ) + + + drawConvexPolygon + drawConvexPolygon-2 + ( const QPoint * points, int pointCount ) + + + drawConvexPolygon + drawConvexPolygon-3 + ( const QPolygonF & polygon ) + + + drawConvexPolygon + drawConvexPolygon-4 + ( const QPolygon & polygon ) + + + drawEllipse + drawEllipse + ( const QRectF & rectangle ) + + + drawEllipse + drawEllipse-2 + ( const QRect & rectangle ) + + + drawEllipse + drawEllipse-3 + ( int x, int y, int width, int height ) + + + drawImage + drawImage + ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawImage + drawImage-2 + ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawImage + drawImage-3 + ( const QPointF & point, const QImage & image ) + + + drawImage + drawImage-4 + ( const QPoint & point, const QImage & image ) + + + drawImage + drawImage-5 + ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawImage + drawImage-6 + ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawImage + drawImage-7 + ( const QRectF & rectangle, const QImage & image ) + + + drawImage + drawImage-8 + ( const QRect & rectangle, const QImage & image ) + + + drawImage + drawImage-9 + ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + drawLine + drawLine + ( const QLineF & line ) + + + drawLine + drawLine-2 + ( const QLine & line ) + + + drawLine + drawLine-3 + ( const QPoint & p1, const QPoint & p2 ) + + + drawLine + drawLine-4 + ( const QPointF & p1, const QPointF & p2 ) + + + drawLine + drawLine-5 + ( int x1, int y1, int x2, int y2 ) + + + drawLines + drawLines + ( const QLineF * lines, int lineCount ) + + + drawLines + drawLines-2 + ( const QLine * lines, int lineCount ) + + + drawLines + drawLines-3 + ( const QPointF * pointPairs, int lineCount ) + + + drawLines + drawLines-4 + ( const QPoint * pointPairs, int lineCount ) + + + drawLines + drawLines-5 + ( const QVector<QPointF> & pointPairs ) + + + drawLines + drawLines-6 + ( const QVector<QPoint> & pointPairs ) + + + drawLines + drawLines-7 + ( const QVector<QLineF> & lines ) + + + drawLines + drawLines-8 + ( const QVector<QLine> & lines ) + + + drawPath + drawPath + ( const QPainterPath & path ) + + + drawPicture + drawPicture + ( const QPointF & point, const QPicture & picture ) + + + drawPicture + drawPicture-2 + ( const QPoint & point, const QPicture & picture ) + + + drawPicture + drawPicture-3 + ( int x, int y, const QPicture & picture ) + + + drawPie + drawPie + ( const QRectF & rectangle, int startAngle, int spanAngle ) + + + drawPie + drawPie-2 + ( const QRect & rectangle, int startAngle, int spanAngle ) + + + drawPie + drawPie-3 + ( int x, int y, int width, int height, int startAngle, int spanAngle ) + + + drawPixmap + drawPixmap + ( const QRectF & target, const QPixmap & pixmap, const QRectF & source ) + + + drawPixmap + drawPixmap-2 + ( const QRect & target, const QPixmap & pixmap, const QRect & source ) + + + drawPixmap + drawPixmap-3 + ( const QPointF & point, const QPixmap & pixmap, const QRectF & source ) + + + drawPixmap + drawPixmap-4 + ( const QPoint & point, const QPixmap & pixmap, const QRect & source ) + + + drawPixmap + drawPixmap-5 + ( const QPointF & point, const QPixmap & pixmap ) + + + drawPixmap + drawPixmap-6 + ( const QPoint & point, const QPixmap & pixmap ) + + + drawPixmap + drawPixmap-7 + ( int x, int y, const QPixmap & pixmap ) + + + drawPixmap + drawPixmap-8 + ( const QRect & rectangle, const QPixmap & pixmap ) + + + drawPixmap + drawPixmap-9 + ( int x, int y, int width, int height, const QPixmap & pixmap ) + + + drawPixmap + drawPixmap-10 + ( int x, int y, int w, int h, const QPixmap & pixmap, int sx, int sy, int sw, int sh ) + + + drawPixmap + drawPixmap-11 + ( int x, int y, const QPixmap & pixmap, int sx, int sy, int sw, int sh ) + + + drawPoint + drawPoint + ( const QPointF & position ) + + + drawPoint + drawPoint-2 + ( const QPoint & position ) + + + drawPoint + drawPoint-3 + ( int x, int y ) + + + drawPoints + drawPoints + ( const QPointF * points, int pointCount ) + + + drawPoints + drawPoints-2 + ( const QPoint * points, int pointCount ) + + + drawPoints + drawPoints-3 + ( const QPolygonF & points ) + + + drawPoints + drawPoints-4 + ( const QPolygon & points ) + + + drawPolygon + drawPolygon + ( const QPointF * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill ) + + + drawPolygon + drawPolygon-2 + ( const QPoint * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill ) + + + drawPolygon + drawPolygon-5 + ( const QPolygonF & points, Qt::FillRule fillRule = Qt::OddEvenFill ) + + + drawPolygon + drawPolygon-6 + ( const QPolygon & points, Qt::FillRule fillRule = Qt::OddEvenFill ) + + + drawPolyline + drawPolyline + ( const QPointF * points, int pointCount ) + + + drawPolyline + drawPolyline-2 + ( const QPoint * points, int pointCount ) + + + drawPolyline + drawPolyline-4 + ( const QPolygonF & points ) + + + drawPolyline + drawPolyline-5 + ( const QPolygon & points ) + + + drawRect + drawRect + ( const QRectF & rectangle ) + + + drawRect + drawRect-2 + ( const QRect & rectangle ) + + + drawRect + drawRect-3 + ( int x, int y, int width, int height ) + + + drawRects + drawRects + ( const QRectF * rectangles, int rectCount ) + + + drawRects + drawRects-2 + ( const QRect * rectangles, int rectCount ) + + + drawRects + drawRects-3 + ( const QVector<QRectF> & rectangles ) + + + drawRects + drawRects-4 + ( const QVector<QRect> & rectangles ) + + + drawRoundRect + drawRoundRect + ( const QRectF & r, int xRnd = 25, int yRnd = 25 ) + + + drawRoundRect + drawRoundRect-2 + ( const QRect & r, int xRnd = 25, int yRnd = 25 ) + + + drawRoundRect + drawRoundRect-3 + ( int x, int y, int w, int h, int xRnd = 25, int yRnd = 25 ) + + + drawText + drawText + ( const QPointF & position, const QString & text ) + + + drawText + drawText-8 + ( const QPoint & position, const QString & text ) + + + drawText + drawText-9 + ( const QRectF & rectangle, int flags, const QString & text, QRectF * boundingRect = 0 ) + + + drawText + drawText-10 + ( const QRect & rectangle, int flags, const QString & text, QRect * boundingRect = 0 ) + + + drawText + drawText-11 + ( int x, int y, const QString & text ) + + + drawText + drawText-12 + ( int x, int y, int width, int height, int flags, const QString & text, QRect * boundingRect = 0 ) + + + drawText + drawText-13 + ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() + + + drawTiledPixmap + drawTiledPixmap + ( const QRectF & rectangle, const QPixmap & pixmap, const QPointF & position = QPointF() + + + drawTiledPixmap + drawTiledPixmap-2 + ( const QRect & rectangle, const QPixmap & pixmap, const QPoint & position = QPoint() + + + drawTiledPixmap + drawTiledPixmap-3 + ( int x, int y, int width, int height, const QPixmap & pixmap, int sx = 0, int sy = 0 ) + + + end + end + () + + + eraseRect + eraseRect + ( const QRectF & rectangle ) + + + eraseRect + eraseRect-2 + ( const QRect & rectangle ) + + + eraseRect + eraseRect-3 + ( int x, int y, int width, int height ) + + + fillPath + fillPath + ( const QPainterPath & path, const QBrush & brush ) + + + fillRect + fillRect + ( const QRectF & rectangle, const QBrush & brush ) + + + fillRect + fillRect-2 + ( const QRect & rectangle, const QBrush & brush ) + + + fillRect + fillRect-3 + ( int x, int y, int width, int height, const QBrush & brush ) + + + font + font + () + + + fontInfo + fontInfo + () + + + fontMetrics + fontMetrics + () + + + hasClipping + hasClipping + () + + + initFrom + initFrom + ( const QWidget * widget ) + + + isActive + isActive + () + + + LayoutDirection + layoutDirection + QPainter::layoutDirection() + + + opacity + opacity + () + + + paintEngine + paintEngine + () + + + pen + pen + () + + + redirected + redirected + ( const QPaintDevice * device, QPoint * offset = 0 ) + + + renderHints + renderHints + () + + + resetMatrix + resetMatrix + () + + + resetTransform + resetTransform + () + + + restore + restore + () + + + restoreRedirected + restoreRedirected + ( const QPaintDevice * device ) + + + rotate + rotate + ( qreal angle ) + + + save + save + () + + + scale + scale + ( qreal sx, qreal sy ) + + + setBackground + setBackground + ( const QBrush & brush ) + + + setBackgroundMode + setBackgroundMode + ( Qt::BGMode mode ) + + + setBrush + setBrush + ( const QBrush & brush ) + + + setBrush + setBrush-2 + ( Qt::BrushStyle style ) + + + setBrushOrigin + setBrushOrigin + ( const QPointF & position ) + + + setBrushOrigin + setBrushOrigin-2 + ( const QPoint & position ) + + + setBrushOrigin + setBrushOrigin-3 + ( int x, int y ) + + + setClipPath + setClipPath + ( const QPainterPath & path, Qt::ClipOperation operation = Qt::ReplaceClip ) + + + setClipRect + setClipRect + ( const QRectF & rectangle, Qt::ClipOperation operation = Qt::ReplaceClip ) + + + setClipRect + setClipRect-2 + ( int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip ) + + + setClipRect + setClipRect-3 + ( const QRect & rectangle, Qt::ClipOperation operation = Qt::ReplaceClip ) + + + setClipRegion + setClipRegion + ( const QRegion & region, Qt::ClipOperation operation = Qt::ReplaceClip ) + + + setClipping + setClipping + ( bool enable ) + + + setCompositionMode + setCompositionMode + ( CompositionMode mode ) + + + setFont + setFont + ( const QFont & font ) + + + setLayoutDirection + setLayoutDirection + ( Qt::LayoutDirection direction ) + + + setOpacity + setOpacity + ( qreal opacity ) + + + setPen + setPen + ( const QPen & pen ) + + + setPen + setPen-2 + ( const QColor & color ) + + + setPen + setPen-3 + ( Qt::PenStyle style ) + + + setRedirected + setRedirected + ( const QPaintDevice * device, QPaintDevice * replacement, const QPoint & offset = QPoint() + + + setRenderHint + setRenderHint + ( RenderHint hint, bool on = true ) + + + setRenderHints + setRenderHints + ( RenderHints hints, bool on = true ) + + + setTransform + setTransform + ( const QTransform & transform, bool combine = false ) + + + setViewTransformEnabled + setViewTransformEnabled + ( bool enable ) + + + setViewport + setViewport + ( const QRect & rectangle ) + + + setViewport + setViewport-2 + ( int x, int y, int width, int height ) + + + setWindow + setWindow + ( const QRect & rectangle ) + + + setWindow + setWindow-2 + ( int x, int y, int width, int height ) + + + setWorldMatrix + setWorldMatrix + ( const QMatrix & matrix, bool combine = false ) + + + setWorldMatrixEnabled + setWorldMatrixEnabled + ( bool enable ) + + + setWorldTransform + setWorldTransform + ( const QTransform & matrix, bool combine = false ) + + + shear + shear + ( qreal sh, qreal sv ) + + + strokePath + strokePath + ( const QPainterPath & path, const QPen & pen ) + + + testRenderHint + testRenderHint + ( RenderHint hint ) + + + transform + transform + () + + + translate + translate + ( const QPointF & offset ) + + + translate + translate-2 + ( const QPoint & offset ) + + + translate + translate-3 + ( qreal dx, qreal dy ) + + + viewTransformEnabled + viewTransformEnabled + () + + + viewport + viewport + () + + + window + window + () + + + worldMatrix + worldMatrix + () + + + worldMatrixEnabled + worldMatrixEnabled + () + + + worldTransform + worldTransform + () + + + backgroundColor + backgroundColor + () + + + begin + begin-2 + ( QPaintDevice * device, const QWidget * init ) + + + boundingRect + boundingRect-2 + ( const QRect & rectangle, int flags, const QString & text, int length ) + + + boundingRect + boundingRect-3 + ( int x, int y, int width, int height, int flags, const QString & text, int length ) + + + drawConvexPolygon + drawConvexPolygon-5 + ( const QPolygonF & polygon, int index, int count = -1 ) + + + drawConvexPolygon + drawConvexPolygon-6 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawCubicBezier + drawCubicBezier + ( const QPolygon & controlPoints, int index = 0 ) + + + drawLineSegments + drawLineSegments + ( const QPolygon & polygon, int index = 0, int count = -1 ) + + + drawPoints + drawPoints-5 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawPolygon + drawPolygon-3 + ( const QPolygonF & polygon, bool winding, int index = 0, int count = -1 ) + + + drawPolygon + drawPolygon-4 + ( const QPolygon & polygon, bool winding, int index = 0, int count = -1 ) + + + drawPolyline + drawPolyline-3 + ( const QPolygon & polygon, int index, int count = -1 ) + + + drawText + drawText-2 + ( int x, int y, const QString & text, int pos, int length ) + + + drawText + drawText-3 + ( const QPoint & point, const QString & text, int pos, int length ) + + + drawText + drawText-4 + ( int x, int y, const QString & text, int length ) + + + drawText + drawText-5 + ( const QPoint & point, const QString & text, int length ) + + + drawText + drawText-6 + ( const QRect & rectangle, int flags, const QString & text, int length, QRect * br = 0 ) + + + drawText + drawText-7 + ( int x, int y, int width, int height, int flags, const QString & text, int length, QRect * br = 0 ) + + + hasViewXForm + hasViewXForm + () + + + hasWorldXForm + hasWorldXForm + () + + + redirect + redirect + ( QPaintDevice * pdev, QPaintDevice * replacement ) + + + redirect + redirect-2 + ( QPaintDevice * pdev ) + + + resetXForm + resetXForm + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setViewXForm + setViewXForm + ( bool enabled ) + + + setWorldXForm + setWorldXForm + ( bool enabled ) + + + translationX + translationX + () + + + translationY + translationY + () + + + xForm + xForm + ( const QPoint & point ) + + + xForm + xForm-2 + ( const QRect & rectangle ) + + + xForm + xForm-3 + ( const QPolygon & polygon ) + + + xForm + xForm-4 + ( const QPolygon & polygon, int index, int count ) + + + xFormDev + xFormDev + ( const QPoint & point ) + + + xFormDev + xFormDev-2 + ( const QRect & rectangle ) + + + xFormDev + xFormDev-3 + ( const QPolygon & polygon ) + + + xFormDev + xFormDev-4 + ( const QPolygon & polygon, int index, int count ) + + + + QPainterPath::Element + qpainterpath-element.html + + isCurveTo + isCurveTo + () + + + isLineTo + isLineTo + () + + + isMoveTo + isMoveTo + () + + + operator + operator-QPointF + QPointF() + + + operator!= + operator-not-eq + ( const Element & other ) + + + operator== + operator-eq-eq + ( const Element & other ) + + + type + type-varx + + + + x + x-var + + + + y + y-var + + + + + QPainterPath + qpainterpath.html + + ElementType + ElementType-enum + + + + QPainterPath + QPainterPath + () + + + QPainterPath + QPainterPath-2 + ( const QPointF & startPoint ) + + + QPainterPath + QPainterPath-3 + ( const QPainterPath & path ) + + + addEllipse + addEllipse + ( const QRectF & boundingRectangle ) + + + addEllipse + addEllipse-2 + ( qreal x, qreal y, qreal width, qreal height ) + + + addPath + addPath + ( const QPainterPath & path ) + + + addPolygon + addPolygon + ( const QPolygonF & polygon ) + + + addRect + addRect + ( const QRectF & rectangle ) + + + addRect + addRect-2 + ( qreal x, qreal y, qreal width, qreal height ) + + + addRegion + addRegion + ( const QRegion & region ) + + + addRoundRect + addRoundRect + ( const QRectF & r, int xRnd, int yRnd ) + + + addRoundRect + addRoundRect-2 + ( qreal x, qreal y, qreal w, qreal h, int xRnd, int yRnd ) + + + addRoundRect + addRoundRect-3 + ( const QRectF & rect, int roundness ) + + + addRoundRect + addRoundRect-4 + ( qreal x, qreal y, qreal w, qreal h, int roundness ) + + + addText + addText + ( const QPointF & point, const QFont & font, const QString & text ) + + + addText + addText-2 + ( qreal x, qreal y, const QFont & font, const QString & text ) + + + angleAtPercent + angleAtPercent + ( qreal t ) + + + arcMoveTo + arcMoveTo + ( const QRectF & rectangle, qreal angle ) + + + arcMoveTo + arcMoveTo-2 + ( qreal x, qreal y, qreal width, qreal height, qreal angle ) + + + arcTo + arcTo + ( const QRectF & rectangle, qreal startAngle, qreal sweepLength ) + + + arcTo + arcTo-2 + ( qreal x, qreal y, qreal width, qreal height, qreal startAngle, qreal sweepLength ) + + + boundingRect + boundingRect + () + + + closeSubpath + closeSubpath + () + + + connectPath + connectPath + ( const QPainterPath & path ) + + + contains + contains + ( const QPointF & point ) + + + contains + contains-2 + ( const QPainterPath & p ) + + + contains + contains-3 + ( const QRectF & rectangle ) + + + controlPointRect + controlPointRect + () + + + cubicTo + cubicTo + ( const QPointF & c1, const QPointF & c2, const QPointF & endPoint ) + + + cubicTo + cubicTo-2 + ( qreal c1X, qreal c1Y, qreal c2X, qreal c2Y, qreal endPointX, qreal endPointY ) + + + currentPosition + currentPosition + () + + + Element + elementAt + & QPainterPath::elementAt( int index ) + + + elementCount + elementCount + () + + + FillRule + fillRule + QPainterPath::fillRule() + + + intersected + intersected + ( const QPainterPath & p ) + + + intersects + intersects + ( const QRectF & rectangle ) + + + intersects + intersects-2 + ( const QPainterPath & p ) + + + isEmpty + isEmpty + () + + + length + length + () + + + lineTo + lineTo + ( const QPointF & endPoint ) + + + lineTo + lineTo-2 + ( qreal x, qreal y ) + + + moveTo + moveTo + ( const QPointF & point ) + + + moveTo + moveTo-2 + ( qreal x, qreal y ) + + + percentAtLength + percentAtLength + ( qreal len ) + + + pointAtPercent + pointAtPercent + ( qreal t ) + + + quadTo + quadTo + ( const QPointF & c, const QPointF & endPoint ) + + + quadTo + quadTo-2 + ( qreal cx, qreal cy, qreal endPointX, qreal endPointY ) + + + setElementPositionAt + setElementPositionAt + ( int index, qreal x, qreal y ) + + + setFillRule + setFillRule + ( Qt::FillRule fillRule ) + + + slopeAtPercent + slopeAtPercent + ( qreal t ) + + + subtracted + subtracted + ( const QPainterPath & p ) + + + subtractedInverted + subtractedInverted + ( const QPainterPath & p ) + + + toFillPolygon + toFillPolygon + ( const QMatrix & matrix = QMatrix() + + + toFillPolygon + toFillPolygon-2 + ( const QTransform & matrix ) + + + toFillPolygons + toFillPolygons + ( const QMatrix & matrix = QMatrix() + + + toFillPolygons + toFillPolygons-2 + ( const QTransform & matrix ) + + + toReversed + toReversed + () + + + toSubpathPolygons + toSubpathPolygons + ( const QMatrix & matrix = QMatrix() + + + toSubpathPolygons + toSubpathPolygons-2 + ( const QTransform & matrix ) + + + united + united + ( const QPainterPath & p ) + + + operator!= + operator-not-eq + ( const QPainterPath & path ) + + + operator= + operator-eq + ( const QPainterPath & path ) + + + operator== + operator-eq-eq + ( const QPainterPath & path ) + + + + QPainterPathStroker + qpainterpathstroker.html + + QPainterPathStroker + QPainterPathStroker + () + + + PenCapStyle + capStyle + QPainterPathStroker::capStyle() + + + createStroke + createStroke + ( const QPainterPath & path ) + + + curveThreshold + curveThreshold + () + + + dashOffset + dashOffset + () + + + dashPattern + dashPattern + () + + + PenJoinStyle + joinStyle + QPainterPathStroker::joinStyle() + + + miterLimit + miterLimit + () + + + setCapStyle + setCapStyle + ( Qt::PenCapStyle style ) + + + setCurveThreshold + setCurveThreshold + ( qreal threshold ) + + + setDashOffset + setDashOffset + ( qreal offset ) + + + setDashPattern + setDashPattern + ( Qt::PenStyle style ) + + + setDashPattern + setDashPattern-2 + ( const QVector<qreal> & dashPattern ) + + + setJoinStyle + setJoinStyle + ( Qt::PenJoinStyle style ) + + + setMiterLimit + setMiterLimit + ( qreal limit ) + + + setWidth + setWidth + ( qreal width ) + + + width + width + () + + + QPaintEvent + QPaintEvent-3 + ( const QRegion & paintRegion, const QRect & paintRect ) + + + erased + erased + () + + + + QPaintEvent + qpaintevent.html + + QPaintEvent + QPaintEvent + ( const QRegion & paintRegion ) + + + QPaintEvent + QPaintEvent-2 + ( const QRect & paintRect ) + + + rect + rect + () + + + region + region + () + + + QPaintEvent + QPaintEvent-3 + ( const QRegion & paintRegion, const QRect & paintRect ) + + + erased + erased + () + + + + QPair + qpair.html + + first_type + first_type-typedef + + + + second_type + second_type-typedef + + + + QPair + QPair + () + + + QPair + QPair-2 + ( const T1 & value1, const T2 & value2 ) + + + operator= + operator-eq + ( const QPair<T1, T2> & other ) + + + first + first-var + + + + second + second-var + + + + QPalette + QPalette-6 + ( const QColor & windowText, const QColor & window, const QColor & light, const QColor & dark, const QColor & mid, const QColor & text, const QColor & base ) + + + background + background + () + + + foreground + foreground + () + + + serialNumber + serialNumber + () + + + QPalette + QPalette-7 + ( const QColorGroup & active, const QColorGroup & disabled, const QColorGroup & inactive ) + + + active + active + () + + + copy + copy + () + + + disabled + disabled + () + + + inactive + inactive + () + + + normal + normal + () + + + setActive + setActive + ( const QColorGroup & colorGroup ) + + + setDisabled + setDisabled + ( const QColorGroup & colorGroup ) + + + setInactive + setInactive + ( const QColorGroup & colorGroup ) + + + setNormal + setNormal + ( const QColorGroup & colorGroup ) + + + + QPalette + qpalette.html + + ColorGroup + ColorGroup-enum + + + + ColorRole + ColorRole-enum + + + + QPalette + QPalette + () + + + QPalette + QPalette-2 + ( const QColor & button ) + + + QPalette + QPalette-3 + ( Qt::GlobalColor button ) + + + QPalette + QPalette-4 + ( const QColor & button, const QColor & window ) + + + QPalette + QPalette-5 + ( const QBrush & windowText, const QBrush & button, const QBrush & light, const QBrush & dark, const QBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & window ) + + + QPalette + QPalette-8 + ( const QPalette & p ) + + + alternateBase + alternateBase + () + + + base + base + () + + + brightText + brightText + () + + + brush + brush + ( ColorGroup group, ColorRole role ) + + + brush + brush-2 + ( ColorRole role ) + + + button + button + () + + + buttonText + buttonText + () + + + cacheKey + cacheKey + () + + + color + color + ( ColorGroup group, ColorRole role ) + + + color + color-2 + ( ColorRole role ) + + + currentColorGroup + currentColorGroup + () + + + dark + dark + () + + + highlight + highlight + () + + + highlightedText + highlightedText + () + + + isBrushSet + isBrushSet + ( ColorGroup cg, ColorRole cr ) + + + isCopyOf + isCopyOf + ( const QPalette & p ) + + + isEqual + isEqual + ( ColorGroup cg1, ColorGroup cg2 ) + + + light + light + () + + + link + link + () + + + linkVisited + linkVisited + () + + + mid + mid + () + + + midlight + midlight + () + + + resolve + resolve + ( const QPalette & other ) + + + setBrush + setBrush + ( ColorRole role, const QBrush & brush ) + + + setBrush + setBrush-2 + ( ColorGroup group, ColorRole role, const QBrush & brush ) + + + setColor + setColor + ( ColorGroup group, ColorRole role, const QColor & color ) + + + setColor + setColor-2 + ( ColorRole role, const QColor & color ) + + + setColorGroup + setColorGroup + ( ColorGroup cg, const QBrush & windowText, const QBrush & button, const QBrush & light, const QBrush & dark, const QBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & window ) + + + setCurrentColorGroup + setCurrentColorGroup + ( ColorGroup cg ) + + + shadow + shadow + () + + + text + text + () + + + window + window + () + + + windowText + windowText + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QPalette & p ) + + + operator= + operator-eq + ( const QPalette & p ) + + + operator== + operator-eq-eq + ( const QPalette & p ) + + + QPalette + QPalette-7 + ( const QColorGroup & active, const QColorGroup & disabled, const QColorGroup & inactive ) + + + active + active + () + + + copy + copy + () + + + disabled + disabled + () + + + inactive + inactive + () + + + normal + normal + () + + + setActive + setActive + ( const QColorGroup & colorGroup ) + + + setDisabled + setDisabled + ( const QColorGroup & colorGroup ) + + + setInactive + setInactive + ( const QColorGroup & colorGroup ) + + + setNormal + setNormal + ( const QColorGroup & colorGroup ) + + + + QPen + qpen.html + + DataPtr + DataPtr-typedef + + + + QPen + QPen + () + + + QPen + QPen-2 + ( Qt::PenStyle style ) + + + QPen + QPen-3 + ( const QColor & color ) + + + QPen + QPen-4 + ( const QBrush & brush, qreal width, Qt::PenStyle style = Qt::SolidLine, Qt::PenCapStyle cap = Qt::SquareCap, Qt::PenJoinStyle join = Qt::BevelJoin ) + + + QPen + QPen-5 + ( const QPen & pen ) + + + brush + brush + () + + + PenCapStyle + capStyle + QPen::capStyle() + + + color + color + () + + + dashOffset + dashOffset + () + + + dashPattern + dashPattern + () + + + data_ptr + data_ptr + () + + + isCosmetic + isCosmetic + () + + + isSolid + isSolid + () + + + PenJoinStyle + joinStyle + QPen::joinStyle() + + + miterLimit + miterLimit + () + + + setBrush + setBrush + ( const QBrush & brush ) + + + setCapStyle + setCapStyle + ( Qt::PenCapStyle style ) + + + setColor + setColor + ( const QColor & color ) + + + setCosmetic + setCosmetic + ( bool cosmetic ) + + + setDashOffset + setDashOffset + ( qreal offset ) + + + setDashPattern + setDashPattern + ( const QVector<qreal> & pattern ) + + + setJoinStyle + setJoinStyle + ( Qt::PenJoinStyle style ) + + + setMiterLimit + setMiterLimit + ( qreal limit ) + + + setStyle + setStyle + ( Qt::PenStyle style ) + + + setWidth + setWidth + ( int width ) + + + setWidthF + setWidthF + ( qreal width ) + + + PenStyle + style + QPen::style() + + + width + width + () + + + widthF + widthF + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QPen & pen ) + + + operator= + operator-eq + ( const QPen & pen ) + + + operator== + operator-eq-eq + ( const QPen & pen ) + + + + QPersistentModelIndex + qpersistentmodelindex.html + + QPersistentModelIndex + QPersistentModelIndex + ( const QModelIndex & index ) + + + QPersistentModelIndex + QPersistentModelIndex-3 + ( const QPersistentModelIndex & other ) + + + child + child + ( int row, int column ) + + + column + column + () + + + data + data + ( int role = Qt::DisplayRole ) + + + ItemFlags + flags + QPersistentModelIndex::flags() + + + isValid + isValid + () + + + model + model + () + + + parent + parent + () + + + row + row + () + + + sibling + sibling + ( int row, int column ) + + + operator + operator-const-QModelIndex--and + const QModelIndex &() + + + operator!= + operator-not-eq + ( const QPersistentModelIndex & other ) + + + operator!= + operator-not-eq-2 + ( const QModelIndex & other ) + + + operator< + operator-lt + ( const QPersistentModelIndex & other ) + + + operator= + operator-eq + ( const QPersistentModelIndex & other ) + + + operator= + operator-eq-2 + ( const QModelIndex & other ) + + + operator== + operator-eq-eq + ( const QPersistentModelIndex & other ) + + + operator== + operator-eq-eq-2 + ( const QModelIndex & other ) + + + inputFormatList + inputFormatList + () + + + inputFormats + inputFormats + () + + + outputFormatList + outputFormatList + () + + + outputFormats + outputFormats + () + + + pictureFormat + pictureFormat + ( const QString & fileName ) + + + copy + copy + () + + + + QPicture + qpicture.html + + DataPtr + DataPtr-typedef + + + + QPicture + QPicture + ( int formatVersion = -1 ) + + + QPicture + QPicture-2 + ( const QPicture & pic ) + + + boundingRect + boundingRect + () + + + data + data + () + + + data_ptr + data_ptr + () + + + isNull + isNull + () + + + load + load + ( const QString & fileName, const char * format = 0 ) + + + load + load-2 + ( QIODevice * dev, const char * format = 0 ) + + + metric + metric + ( PaintDeviceMetric m ) + + + play + play + ( QPainter * painter ) + + + save + save + ( const QString & fileName, const char * format = 0 ) + + + save + save-2 + ( QIODevice * dev, const char * format = 0 ) + + + setBoundingRect + setBoundingRect + ( const QRect & r ) + + + setData + setData + ( const char * data, uint size ) + + + size + size + () + + + operator= + operator-eq + ( const QPicture & p ) + + + copy + copy + () + + + + QPictureFormatPlugin + qpictureformatplugin.html + + QPictureFormatPlugin + QPictureFormatPlugin + ( QObject * parent = 0 ) + + + installIOHandler + installIOHandler + ( const QString & format ) + + + keys + keys + () + + + loadPicture + loadPicture + ( const QString & format, const QString & fileName, QPicture * picture ) + + + savePicture + savePicture + ( const QString & format, const QString & fileName, const QPicture & picture ) + + + + QPictureIO + qpictureio.html + + QPictureIO + QPictureIO + () + + + QPictureIO + QPictureIO-2 + ( QIODevice * ioDevice, const char * format ) + + + QPictureIO + QPictureIO-3 + ( const QString & fileName, const char * format ) + + + defineIOHandler + defineIOHandler + ( const char * format, const char * header, const char * flags, picture_io_handler readPicture, picture_io_handler writePicture ) + + + description + description + () + + + fileName + fileName + () + + + format + format + () + + + gamma + gamma + () + + + inputFormats + inputFormats + () + + + ioDevice + ioDevice + () + + + outputFormats + outputFormats + () + + + parameters + parameters + () + + + picture + picture + () + + + pictureFormat + pictureFormat + ( const QString & fileName ) + + + pictureFormat + pictureFormat-2 + ( QIODevice * d ) + + + quality + quality + () + + + read + read + () + + + setDescription + setDescription + ( const QString & description ) + + + setFileName + setFileName + ( const QString & fileName ) + + + setFormat + setFormat + ( const char * format ) + + + setGamma + setGamma + ( float gamma ) + + + setIODevice + setIODevice + ( QIODevice * ioDevice ) + + + setParameters + setParameters + ( const char * parameters ) + + + setPicture + setPicture + ( const QPicture & picture ) + + + setQuality + setQuality + ( int q ) + + + setStatus + setStatus + ( int status ) + + + status + status + () + + + write + write + () + + + serialNumber + serialNumber + () + + + ColorMode + ColorMode-enum + + + + QPixmap + QPixmap-6 + ( const QString & fileName, const char * format, ColorMode mode ) + + + QPixmap + QPixmap-7 + ( const QImage & image ) + + + convertFromImage + convertFromImage + ( const QImage & image, ColorMode mode ) + + + convertFromImage + convertFromImage-2 + ( const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + convertToImage + convertToImage + () + + + load + load-2 + ( const QString & fileName, const char * format, ColorMode mode ) + + + loadFromData + loadFromData-2 + ( const uchar * buf, uint len, const char * format, ColorMode mode ) + + + resize + resize + ( int width, int height ) + + + resize + resize-2 + ( const QSize & size ) + + + selfMask + selfMask + () + + + xForm + xForm + ( const QMatrix & matrix ) + + + operator + operator-QImage + QImage() + + + operator= + operator-eq-2 + ( const QImage & image ) + + + + QPixmap + qpixmap.html + + DataPtr + DataPtr-typedef + + + + HBitmapFormat + HBitmapFormat-enum + + + + QPixmap + QPixmap + () + + + QPixmap + QPixmap-2 + ( int width, int height ) + + + QPixmap + QPixmap-3 + ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + QPixmap + QPixmap-4 + ( const char * const[] xpm ) + + + QPixmap + QPixmap-5 + ( const QPixmap & pixmap ) + + + QPixmap + QPixmap-9 + ( const QSize & size ) + + + alphaChannel + alphaChannel + () + + + cacheKey + cacheKey + () + + + copy + copy + ( const QRect & rectangle = QRect() + + + copy + copy-2 + ( int x, int y, int width, int height ) + + + createHeuristicMask + createHeuristicMask + ( bool clipTight = true ) + + + createMaskFromColor + createMaskFromColor + ( const QColor & maskColor, Qt::MaskMode mode ) + + + createMaskFromColor + createMaskFromColor-2 + ( const QColor & maskColor ) + + + data_ptr + data_ptr + () + + + defaultDepth + defaultDepth + () + + + depth + depth + () + + + detach + detach + () + + + fill + fill + ( const QColor & fillColor = Qt::white ) + + + fill + fill-2 + ( const QWidget * widget, const QPoint & offset ) + + + fill + fill-3 + ( const QWidget * widget, int x, int y ) + + + fromImage + fromImage + ( const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + fromMacCGImageRef + fromMacCGImageRef + ( CGImageRef image ) + + + fromWinHBITMAP + fromWinHBITMAP + ( HBITMAP bitmap, HBitmapFormat format = NoAlpha ) + + + grabWidget + grabWidget + ( QWidget * widget, const QRect & rectangle ) + + + grabWidget + grabWidget-2 + ( QWidget * widget, int x = 0, int y = 0, int width = -1, int height = -1 ) + + + grabWindow + grabWindow + ( WId window, int x = 0, int y = 0, int width = -1, int height = -1 ) + + + HANDLE + handle + QPixmap::handle() + + + hasAlpha + hasAlpha + () + + + hasAlphaChannel + hasAlphaChannel + () + + + height + height + () + + + isNull + isNull + () + + + isQBitmap + isQBitmap + () + + + load + load + ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + loadFromData + loadFromData + ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + loadFromData + loadFromData-3 + ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + mask + mask + () + + + rect + rect + () + + + save + save + ( const QString & fileName, const char * format = 0, int quality = -1 ) + + + save + save-2 + ( QIODevice * device, const char * format = 0, int quality = -1 ) + + + scaled + scaled + ( const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) + + + scaled + scaled-2 + ( int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation ) + + + scaledToHeight + scaledToHeight + ( int height, Qt::TransformationMode mode = Qt::FastTransformation ) + + + scaledToWidth + scaledToWidth + ( int width, Qt::TransformationMode mode = Qt::FastTransformation ) + + + setAlphaChannel + setAlphaChannel + ( const QPixmap & alphaChannel ) + + + setMask + setMask + ( const QBitmap & newmask ) + + + size + size + () + + + toImage + toImage + () + + + toMacCGImageRef + toMacCGImageRef + () + + + toWinHBITMAP + toWinHBITMAP + ( HBitmapFormat format = NoAlpha ) + + + transformed + transformed + ( const QMatrix & matrix, Qt::TransformationMode mode = Qt::FastTransformation ) + + + transformed + transformed-2 + ( const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation ) + + + trueMatrix + trueMatrix + ( const QMatrix & matrix, int width, int height ) + + + trueMatrix + trueMatrix-2 + ( const QTransform & m, int w, int h ) + + + width + width + () + + + x11Info + x11Info + () + + + HANDLE + x11PictureHandle + QPixmap::x11PictureHandle() + + + operator + operator-QVariant + QVariant() + + + operator! + operator-not + () + + + operator= + operator-eq + ( const QPixmap & pixmap ) + + + ColorMode + ColorMode-enum + + + + QPixmap + QPixmap-6 + ( const QString & fileName, const char * format, ColorMode mode ) + + + QPixmap + QPixmap-7 + ( const QImage & image ) + + + convertFromImage + convertFromImage + ( const QImage & image, ColorMode mode ) + + + convertFromImage + convertFromImage-2 + ( const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor ) + + + convertToImage + convertToImage + () + + + load + load-2 + ( const QString & fileName, const char * format, ColorMode mode ) + + + loadFromData + loadFromData-2 + ( const uchar * buf, uint len, const char * format, ColorMode mode ) + + + resize + resize + ( int width, int height ) + + + resize + resize-2 + ( const QSize & size ) + + + selfMask + selfMask + () + + + xForm + xForm + ( const QMatrix & matrix ) + + + operator + operator-QImage + QImage() + + + operator= + operator-eq-2 + ( const QImage & image ) + + + find + find-2 + ( const QString & key ) + + + + QPixmapCache + qpixmapcache.html + + cacheLimit + cacheLimit + () + + + clear + clear + () + + + find + find + ( const QString & key, QPixmap & pm ) + + + insert + insert + ( const QString & key, const QPixmap & pm ) + + + remove + remove + ( const QString & key ) + + + setCacheLimit + setCacheLimit + ( int n ) + + + + QPlastiqueStyle + qplastiquestyle.html + + QPlastiqueStyle + QPlastiqueStyle + () + + + + QPluginLoader + qpluginloader.html + + QPluginLoader + QPluginLoader + ( QObject * parent = 0 ) + + + QPluginLoader + QPluginLoader-2 + ( const QString & fileName, QObject * parent = 0 ) + + + errorString + errorString + () + + + instance + instance + () + + + isLoaded + isLoaded + () + + + load + load + () + + + staticInstances + staticInstances + () + + + unload + unload + () + + + + QPoint + qpoint.html + + QPoint + QPoint + () + + + QPoint + QPoint-2 + ( int x, int y ) + + + isNull + isNull + () + + + manhattanLength + manhattanLength + () + + + rx + rx + () + + + ry + ry + () + + + setX + setX + ( int x ) + + + setY + setY + ( int y ) + + + x + x + () + + + y + y + () + + + operator*= + operator-2a-eq + ( qreal factor ) + + + operator+= + operator-2b-eq + ( const QPoint & point ) + + + operator-= + operator--eq + ( const QPoint & point ) + + + operator/= + operator-2f-eq + ( qreal divisor ) + + + + QPointer + qpointer.html + + QPointer + QPointer + () + + + QPointer + QPointer-2 + ( T * p ) + + + QPointer + QPointer-3 + ( const QPointer<T> & p ) + + + isNull + isNull + () + + + operator + operator-T--2a + T *() + + + operator* + operator-2a + () + + + operator-& + operator--gt + gt;() + + + operator= + operator-eq + ( const QPointer<T> & p ) + + + operator= + operator-eq-2 + ( T * p ) + + + + QPointF + qpointf.html + + QPointF + QPointF + () + + + QPointF + QPointF-2 + ( const QPoint & point ) + + + QPointF + QPointF-3 + ( qreal x, qreal y ) + + + isNull + isNull + () + + + rx + rx + () + + + ry + ry + () + + + setX + setX + ( qreal x ) + + + setY + setY + ( qreal y ) + + + toPoint + toPoint + () + + + x + x + () + + + y + y + () + + + operator*= + operator-2a-eq + ( qreal factor ) + + + operator+= + operator-2b-eq + ( const QPointF & point ) + + + operator-= + operator--eq + ( const QPointF & point ) + + + operator/= + operator-2f-eq + ( qreal divisor ) + + + + QPolygon + qpolygon.html + + QPolygon + QPolygon + () + + + QPolygon + QPolygon-2 + ( int size ) + + + QPolygon + QPolygon-3 + ( const QPolygon & polygon ) + + + QPolygon + QPolygon-4 + ( const QVector<QPoint> & points ) + + + QPolygon + QPolygon-5 + ( const QRect & rectangle, bool closed = false ) + + + boundingRect + boundingRect + () + + + containsPoint + containsPoint + ( const QPoint & pt, Qt::FillRule fillRule ) + + + intersected + intersected + ( const QPolygon & r ) + + + point + point + ( int index, int * x, int * y ) + + + point + point-2 + ( int index ) + + + putPoints + putPoints + ( int index, int nPoints, int firstx, int firsty, ... ) + + + putPoints + putPoints-3 + ( int index, int nPoints, const QPolygon & fromPolygon, int fromIndex = 0 ) + + + setPoint + setPoint + ( int index, int x, int y ) + + + setPoint + setPoint-2 + ( int index, const QPoint & point ) + + + setPoints + setPoints + ( int nPoints, const int * points ) + + + setPoints + setPoints-2 + ( int nPoints, int firstx, int firsty, ... ) + + + subtracted + subtracted + ( const QPolygon & r ) + + + translate + translate + ( int dx, int dy ) + + + translate + translate-2 + ( const QPoint & offset ) + + + united + united + ( const QPolygon & r ) + + + operator + operator-QVariant + QVariant() + + + + QPolygonF + qpolygonf.html + + QPolygonF + QPolygonF + () + + + QPolygonF + QPolygonF-2 + ( int size ) + + + QPolygonF + QPolygonF-3 + ( const QPolygonF & polygon ) + + + QPolygonF + QPolygonF-4 + ( const QVector<QPointF> & points ) + + + QPolygonF + QPolygonF-5 + ( const QRectF & rectangle ) + + + QPolygonF + QPolygonF-6 + ( const QPolygon & polygon ) + + + boundingRect + boundingRect + () + + + containsPoint + containsPoint + ( const QPointF & point, Qt::FillRule fillRule ) + + + intersected + intersected + ( const QPolygonF & r ) + + + isClosed + isClosed + () + + + subtracted + subtracted + ( const QPolygonF & r ) + + + toPolygon + toPolygon + () + + + translate + translate + ( const QPointF & offset ) + + + translate + translate-2 + ( qreal dx, qreal dy ) + + + united + united + ( const QPolygonF & r ) + + + + QPrintDialog + qprintdialog.html + + QPrintDialog + QPrintDialog + ( QPrinter * printer, QWidget * parent = 0 ) + + + + QPrintEngine + qprintengine.html + + PrintEnginePropertyKey + PrintEnginePropertyKey-enum + + + + abort + abort + () + + + metric + metric + ( QPaintDevice::PaintDeviceMetric id ) + + + newPage + newPage + () + + + PrinterState + printerState + QPrintEngine::printerState() + + + property + property + ( PrintEnginePropertyKey key ) + + + setProperty + setProperty + ( PrintEnginePropertyKey key, const QVariant & value ) + + + PrinterOption + PrinterOption-enum + + + + aborted + aborted + () + + + collateCopiesEnabled + collateCopiesEnabled + () + + + isOptionEnabled + isOptionEnabled + ( PrinterOption option ) + + + margins + margins + ( uint * top, uint * left, uint * bottom, uint * right ) + + + margins + margins-2 + () + + + maxPage + maxPage + () + + + minPage + minPage + () + + + outputToFile + outputToFile + () + + + pageSetup + pageSetup + ( QWidget * parent = 0 ) + + + printSetup + printSetup + ( QWidget * parent = 0 ) + + + setCollateCopiesEnabled + setCollateCopiesEnabled + ( bool enable ) + + + setMinMax + setMinMax + ( int minPage, int maxPage ) + + + setOptionEnabled + setOptionEnabled + ( PrinterOption option, bool enable ) + + + setOutputToFile + setOutputToFile + ( bool enable ) + + + setup + setup + ( QWidget * parent = 0 ) + + + + QPrinter + qprinter.html + + ColorMode + ColorMode-enum + + + + Orientation + Orientation-enum + + + + OutputFormat + OutputFormat-enum + + + + PageOrder + PageOrder-enum + + + + PageSize + PageSize-enum + + + + PaperSource + PaperSource-enum + + + + PrintRange + PrintRange-enum + + + + PrinterMode + PrinterMode-enum + + + + PrinterState + PrinterState-enum + + + + QPrinter + QPrinter + ( PrinterMode mode = ScreenResolution ) + + + abort + abort + () + + + collateCopies + collateCopies + () + + + colorMode + colorMode + () + + + creator + creator + () + + + docName + docName + () + + + doubleSidedPrinting + doubleSidedPrinting + () + + + fontEmbeddingEnabled + fontEmbeddingEnabled + () + + + fromPage + fromPage + () + + + fullPage + fullPage + () + + + newPage + newPage + () + + + numCopies + numCopies + () + + + orientation + orientation + () + + + outputFileName + outputFileName + () + + + outputFormat + outputFormat + () + + + pageOrder + pageOrder + () + + + pageRect + pageRect + () + + + pageSize + pageSize + () + + + paintEngine + paintEngine + () + + + paperRect + paperRect + () + + + paperSource + paperSource + () + + + printEngine + printEngine + () + + + printProgram + printProgram + () + + + printRange + printRange + () + + + printerName + printerName + () + + + printerSelectionOption + printerSelectionOption + () + + + printerState + printerState + () + + + resolution + resolution + () + + + setCollateCopies + setCollateCopies + ( bool collate ) + + + setColorMode + setColorMode + ( ColorMode newColorMode ) + + + setCreator + setCreator + ( const QString & creator ) + + + setDocName + setDocName + ( const QString & name ) + + + setDoubleSidedPrinting + setDoubleSidedPrinting + ( bool doubleSided ) + + + setEngines + setEngines + ( QPrintEngine * printEngine, QPaintEngine * paintEngine ) + + + setFontEmbeddingEnabled + setFontEmbeddingEnabled + ( bool enable ) + + + setFromTo + setFromTo + ( int from, int to ) + + + setFullPage + setFullPage + ( bool fp ) + + + setNumCopies + setNumCopies + ( int numCopies ) + + + setOrientation + setOrientation + ( Orientation orientation ) + + + setOutputFileName + setOutputFileName + ( const QString & fileName ) + + + setOutputFormat + setOutputFormat + ( OutputFormat format ) + + + setPageOrder + setPageOrder + ( PageOrder pageOrder ) + + + setPageSize + setPageSize + ( PageSize newPageSize ) + + + setPaperSource + setPaperSource + ( PaperSource source ) + + + setPrintProgram + setPrintProgram + ( const QString & printProg ) + + + setPrintRange + setPrintRange + ( PrintRange range ) + + + setPrinterName + setPrinterName + ( const QString & name ) + + + setPrinterSelectionOption + setPrinterSelectionOption + ( const QString & option ) + + + setResolution + setResolution + ( int dpi ) + + + setWinPageSize + setWinPageSize + ( int pageSize ) + + + supportedPaperSources + supportedPaperSources + () + + + supportedResolutions + supportedResolutions + () + + + toPage + toPage + () + + + winPageSize + winPageSize + () + + + PrinterOption + PrinterOption-enum + + + + aborted + aborted + () + + + collateCopiesEnabled + collateCopiesEnabled + () + + + isOptionEnabled + isOptionEnabled + ( PrinterOption option ) + + + margins + margins + ( uint * top, uint * left, uint * bottom, uint * right ) + + + margins + margins-2 + () + + + maxPage + maxPage + () + + + minPage + minPage + () + + + outputToFile + outputToFile + () + + + pageSetup + pageSetup + ( QWidget * parent = 0 ) + + + printSetup + printSetup + ( QWidget * parent = 0 ) + + + setCollateCopiesEnabled + setCollateCopiesEnabled + ( bool enable ) + + + setMinMax + setMinMax + ( int minPage, int maxPage ) + + + setOptionEnabled + setOptionEnabled + ( PrinterOption option, bool enable ) + + + setOutputToFile + setOutputToFile + ( bool enable ) + + + setup + setup + ( QWidget * parent = 0 ) + + + finished + finished-2 + ( int exitCode ) + + + readChannelMode + readChannelMode + () + + + setReadChannelMode + setReadChannelMode + ( ProcessChannelMode mode ) + + + + QProcess + qprocess.html + + ExitStatus + ExitStatus-enum + + + + ProcessChannel + ProcessChannel-enum + + + + ProcessChannelMode + ProcessChannelMode-enum + + + + ProcessError + ProcessError-enum + + + + ProcessState + ProcessState-enum + + + + QProcess + QProcess + ( QObject * parent = 0 ) + + + close + close + () + + + closeReadChannel + closeReadChannel + ( ProcessChannel channel ) + + + closeWriteChannel + closeWriteChannel + () + + + environment + environment + () + + + ProcessError + error + QProcess::error() + + + error + error-2 + ( QProcess::ProcessError error ) + + + execute + execute + ( const QString & program, const QStringList & arguments ) + + + execute + execute-2 + ( const QString & program ) + + + exitCode + exitCode + () + + + ExitStatus + exitStatus + QProcess::exitStatus() + + + finished + finished + ( int exitCode, QProcess::ExitStatus exitStatus ) + + + kill + kill + () + + + pid + pid + () + + + processChannelMode + processChannelMode + () + + + readAllStandardError + readAllStandardError + () + + + readAllStandardOutput + readAllStandardOutput + () + + + readChannel + readChannel + () + + + readyReadStandardError + readyReadStandardError + () + + + readyReadStandardOutput + readyReadStandardOutput + () + + + setEnvironment + setEnvironment + ( const QStringList & environment ) + + + setProcessChannelMode + setProcessChannelMode + ( ProcessChannelMode mode ) + + + setProcessState + setProcessState + ( ProcessState state ) + + + setReadChannel + setReadChannel + ( ProcessChannel channel ) + + + setStandardErrorFile + setStandardErrorFile + ( const QString & fileName, OpenMode mode = Truncate ) + + + setStandardInputFile + setStandardInputFile + ( const QString & fileName ) + + + setStandardOutputFile + setStandardOutputFile + ( const QString & fileName, OpenMode mode = Truncate ) + + + setStandardOutputProcess + setStandardOutputProcess + ( QProcess * destination ) + + + setWorkingDirectory + setWorkingDirectory + ( const QString & dir ) + + + setupChildProcess + setupChildProcess + () + + + start + start + ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite ) + + + start + start-2 + ( const QString & program, OpenMode mode = ReadWrite ) + + + startDetached + startDetached + ( const QString & program, const QStringList & arguments, const QString & workingDirectory, qint64 * pid = 0 ) + + + startDetached + startDetached-2 + ( const QString & program, const QStringList & arguments ) + + + startDetached + startDetached-3 + ( const QString & program ) + + + started + started + () + + + ProcessState + state + QProcess::state() + + + stateChanged + stateChanged + ( QProcess::ProcessState newState ) + + + systemEnvironment + systemEnvironment + () + + + terminate + terminate + () + + + waitForFinished + waitForFinished + ( int msecs = 30000 ) + + + waitForStarted + waitForStarted + ( int msecs = 30000 ) + + + workingDirectory + workingDirectory + () + + + + QProgressBar + qprogressbar.html + + Direction + Direction-enum + + + + Alignment + alignment-prop + + + + Orientation + orientation-prop + + + + QProgressBar + QProgressBar + ( QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionProgressBar * option ) + + + reset + reset + () + + + setRange + setRange + ( int minimum, int maximum ) + + + valueChanged + valueChanged + ( int value ) + + + + QProgressDialog + qprogressdialog.html + + QProgressDialog + QProgressDialog + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + QProgressDialog + QProgressDialog-2 + ( const QString & labelText, const QString & cancelButtonText, int minimum, int maximum, QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + cancel + cancel + () + + + canceled + canceled + () + + + forceShow + forceShow + () + + + reset + reset + () + + + setBar + setBar + ( QProgressBar * bar ) + + + setCancelButton + setCancelButton + ( QPushButton * cancelButton ) + + + setCancelButtonText + setCancelButtonText + ( const QString & cancelButtonText ) + + + setLabel + setLabel + ( QLabel * label ) + + + setRange + setRange + ( int minimum, int maximum ) + + + sizeHint + sizeHint + () + + + + QProxyModel + qproxymodel.html + + QProxyModel + QProxyModel + ( QObject * parent = 0 ) + + + columnCount + columnCount + ( const QModelIndex & parent ) + + + data + data + ( const QModelIndex & index, int role ) + + + dropMimeData + dropMimeData + ( const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent ) + + + fetchMore + fetchMore + ( const QModelIndex & parent ) + + + ItemFlags + flags + QProxyModel::flags( const QModelIndex & index ) + + + hasChildren + hasChildren + ( const QModelIndex & parent ) + + + headerData + headerData + ( int section, Qt::Orientation orientation, int role ) + + + index + index + ( int row, int column, const QModelIndex & parent ) + + + insertColumns + insertColumns + ( int column, int count, const QModelIndex & parent ) + + + insertRows + insertRows + ( int row, int count, const QModelIndex & parent ) + + + match + match + ( const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags ) + + + mimeData + mimeData + ( const QModelIndexList & indexes ) + + + mimeTypes + mimeTypes + () + + + model + model + () + + + parent + parent + ( const QModelIndex & child ) + + + revert + revert + () + + + rowCount + rowCount + ( const QModelIndex & parent ) + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role ) + + + setHeaderData + setHeaderData + ( int section, Qt::Orientation orientation, const QVariant & value, int role ) + + + setModel + setModel + ( QAbstractItemModel * model ) + + + sort + sort + ( int column, Qt::SortOrder order ) + + + span + span + ( const QModelIndex & index ) + + + submit + submit + () + + + DropActions + supportedDropActions + QProxyModel::supportedDropActions() + + + QPushButton + QPushButton-4 + ( QWidget * parent, const char * name ) + + + QPushButton + QPushButton-5 + ( const QString & text, QWidget * parent, const char * name ) + + + QPushButton + QPushButton-6 + ( const QIcon & icon, const QString & text, QWidget * parent, const char * name ) + + + isMenuButton + isMenuButton + () + + + openPopup + openPopup + () + + + popup + popup + () + + + setPopup + setPopup + ( QMenu * popup ) + + + + QPushButton + qpushbutton.html + + QPushButton + QPushButton + ( QWidget * parent = 0 ) + + + QPushButton + QPushButton-2 + ( const QString & text, QWidget * parent = 0 ) + + + QPushButton + QPushButton-3 + ( const QIcon & icon, const QString & text, QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionButton * option ) + + + menu + menu + () + + + setMenu + setMenu + ( QMenu * menu ) + + + showMenu + showMenu + () + + + QPushButton + QPushButton-4 + ( QWidget * parent, const char * name ) + + + QPushButton + QPushButton-5 + ( const QString & text, QWidget * parent, const char * name ) + + + QPushButton + QPushButton-6 + ( const QIcon & icon, const QString & text, QWidget * parent, const char * name ) + + + isMenuButton + isMenuButton + () + + + openPopup + openPopup + () + + + popup + popup + () + + + setPopup + setPopup + ( QMenu * popup ) + + + + QQueue + qqueue.html + + QQueue + QQueue + () + + + dequeue + dequeue + () + + + enqueue + enqueue + ( const T & t ) + + + head + head + () + + + head + head-2 + () + + + + QRadialGradient + qradialgradient.html + + QRadialGradient + QRadialGradient + () + + + QRadialGradient + QRadialGradient-2 + ( const QPointF & center, qreal radius, const QPointF & focalPoint ) + + + QRadialGradient + QRadialGradient-3 + ( qreal cx, qreal cy, qreal radius, qreal fx, qreal fy ) + + + QRadialGradient + QRadialGradient-4 + ( const QPointF & center, qreal radius ) + + + QRadialGradient + QRadialGradient-5 + ( qreal cx, qreal cy, qreal radius ) + + + center + center + () + + + focalPoint + focalPoint + () + + + radius + radius + () + + + setCenter + setCenter + ( const QPointF & center ) + + + setCenter + setCenter-2 + ( qreal x, qreal y ) + + + setFocalPoint + setFocalPoint + ( const QPointF & focalPoint ) + + + setFocalPoint + setFocalPoint-2 + ( qreal x, qreal y ) + + + setRadius + setRadius + ( qreal radius ) + + + QRadioButton + QRadioButton-3 + ( QWidget * parent, const char * name ) + + + QRadioButton + QRadioButton-4 + ( const QString & text, QWidget * parent, const char * name ) + + + + QRadioButton + qradiobutton.html + + QRadioButton + QRadioButton + ( QWidget * parent = 0 ) + + + QRadioButton + QRadioButton-2 + ( const QString & text, QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionButton * option ) + + + QRadioButton + QRadioButton-3 + ( QWidget * parent, const char * name ) + + + QRadioButton + QRadioButton-4 + ( const QString & text, QWidget * parent, const char * name ) + + + + QRasterPaintEngine + qrasterpaintengine.html + + QRasterPaintEngine + QRasterPaintEngine + () + + + drawBufferSpan + drawBufferSpan + ( const uint * buffer, int size, int x, int y, int length, uint alpha ) + + + drawColorSpans + drawColorSpans + ( const QSpan * spans, int count, uint color ) + + + fillPolygon + fillPolygon + ( const QPointF * points, int pointCount, PolygonDrawMode mode ) + + + + QReadLocker + qreadlocker.html + + QReadLocker + QReadLocker + ( QReadWriteLock * lock ) + + + readWriteLock + readWriteLock + () + + + relock + relock + () + + + unlock + unlock + () + + + + QReadWriteLock + qreadwritelock.html + + QReadWriteLock + QReadWriteLock + () + + + lockForRead + lockForRead + () + + + lockForWrite + lockForWrite + () + + + tryLockForRead + tryLockForRead + () + + + tryLockForRead + tryLockForRead-2 + ( int timeout ) + + + tryLockForWrite + tryLockForWrite + () + + + tryLockForWrite + tryLockForWrite-2 + ( int timeout ) + + + unlock + unlock + () + + + intersect + intersect + ( const QRect & rectangle ) + + + unite + unite + ( const QRect & rectangle ) + + + addCoords + addCoords + ( int dx1, int dy1, int dx2, int dy2 ) + + + coords + coords + ( int * x1, int * y1, int * x2, int * y2 ) + + + moveBy + moveBy + ( int dx, int dy ) + + + moveBy + moveBy-2 + ( const QPoint & p ) + + + normalize + normalize + () + + + rBottom + rBottom + () + + + rLeft + rLeft + () + + + rRight + rRight + () + + + rTop + rTop + () + + + rect + rect + ( int * x, int * y, int * width, int * height ) + + + + QRect + qrect.html + + QRect + QRect + () + + + QRect + QRect-2 + ( const QPoint & topLeft, const QPoint & bottomRight ) + + + QRect + QRect-3 + ( const QPoint & topLeft, const QSize & size ) + + + QRect + QRect-4 + ( int x, int y, int width, int height ) + + + adjust + adjust + ( int dx1, int dy1, int dx2, int dy2 ) + + + adjusted + adjusted + ( int dx1, int dy1, int dx2, int dy2 ) + + + bottom + bottom + () + + + bottomLeft + bottomLeft + () + + + bottomRight + bottomRight + () + + + center + center + () + + + contains + contains + ( const QPoint & point, bool proper = false ) + + + contains + contains-2 + ( int x, int y, bool proper ) + + + contains + contains-3 + ( int x, int y ) + + + contains + contains-4 + ( const QRect & rectangle, bool proper = false ) + + + getCoords + getCoords + ( int * x1, int * y1, int * x2, int * y2 ) + + + getRect + getRect + ( int * x, int * y, int * width, int * height ) + + + height + height + () + + + intersected + intersected + ( const QRect & rectangle ) + + + intersects + intersects + ( const QRect & rectangle ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + isValid + isValid + () + + + left + left + () + + + moveBottom + moveBottom + ( int y ) + + + moveBottomLeft + moveBottomLeft + ( const QPoint & position ) + + + moveBottomRight + moveBottomRight + ( const QPoint & position ) + + + moveCenter + moveCenter + ( const QPoint & position ) + + + moveLeft + moveLeft + ( int x ) + + + moveRight + moveRight + ( int x ) + + + moveTo + moveTo + ( int x, int y ) + + + moveTo + moveTo-2 + ( const QPoint & position ) + + + moveTop + moveTop + ( int y ) + + + moveTopLeft + moveTopLeft + ( const QPoint & position ) + + + moveTopRight + moveTopRight + ( const QPoint & position ) + + + normalized + normalized + () + + + right + right + () + + + setBottom + setBottom + ( int y ) + + + setBottomLeft + setBottomLeft + ( const QPoint & position ) + + + setBottomRight + setBottomRight + ( const QPoint & position ) + + + setCoords + setCoords + ( int x1, int y1, int x2, int y2 ) + + + setHeight + setHeight + ( int height ) + + + setLeft + setLeft + ( int x ) + + + setRect + setRect + ( int x, int y, int width, int height ) + + + setRight + setRight + ( int x ) + + + setSize + setSize + ( const QSize & size ) + + + setTop + setTop + ( int y ) + + + setTopLeft + setTopLeft + ( const QPoint & position ) + + + setTopRight + setTopRight + ( const QPoint & position ) + + + setWidth + setWidth + ( int width ) + + + setX + setX + ( int x ) + + + setY + setY + ( int y ) + + + size + size + () + + + top + top + () + + + topLeft + topLeft + () + + + topRight + topRight + () + + + translate + translate + ( int dx, int dy ) + + + translate + translate-2 + ( const QPoint & offset ) + + + translated + translated + ( int dx, int dy ) + + + translated + translated-2 + ( const QPoint & offset ) + + + united + united + ( const QRect & rectangle ) + + + width + width + () + + + x + x + () + + + y + y + () + + + operator& + operator-and + amp;( const QRect & rectangle ) + + + operator& + operator-and-eq + amp;=( const QRect & rectangle ) + + + operator| + operator-7c + ( const QRect & rectangle ) + + + operator|= + operator-7c-eq + ( const QRect & rectangle ) + + + addCoords + addCoords + ( int dx1, int dy1, int dx2, int dy2 ) + + + coords + coords + ( int * x1, int * y1, int * x2, int * y2 ) + + + moveBy + moveBy + ( int dx, int dy ) + + + moveBy + moveBy-2 + ( const QPoint & p ) + + + normalize + normalize + () + + + rBottom + rBottom + () + + + rLeft + rLeft + () + + + rRight + rRight + () + + + rTop + rTop + () + + + rect + rect + ( int * x, int * y, int * width, int * height ) + + + intersect + intersect + ( const QRectF & rectangle ) + + + unite + unite + ( const QRectF & rectangle ) + + + + QRectF + qrectf.html + + QRectF + QRectF + () + + + QRectF + QRectF-2 + ( const QPointF & topLeft, const QSizeF & size ) + + + QRectF + QRectF-3 + ( const QPointF & topLeft, const QPointF & bottomRight ) + + + QRectF + QRectF-4 + ( qreal x, qreal y, qreal width, qreal height ) + + + QRectF + QRectF-5 + ( const QRect & rectangle ) + + + adjust + adjust + ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 ) + + + adjusted + adjusted + ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 ) + + + bottom + bottom + () + + + bottomLeft + bottomLeft + () + + + bottomRight + bottomRight + () + + + center + center + () + + + contains + contains + ( const QPointF & point ) + + + contains + contains-2 + ( qreal x, qreal y ) + + + contains + contains-3 + ( const QRectF & rectangle ) + + + getCoords + getCoords + ( qreal * x1, qreal * y1, qreal * x2, qreal * y2 ) + + + getRect + getRect + ( qreal * x, qreal * y, qreal * width, qreal * height ) + + + height + height + () + + + intersected + intersected + ( const QRectF & rectangle ) + + + intersects + intersects + ( const QRectF & rectangle ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + isValid + isValid + () + + + left + left + () + + + moveBottom + moveBottom + ( qreal y ) + + + moveBottomLeft + moveBottomLeft + ( const QPointF & position ) + + + moveBottomRight + moveBottomRight + ( const QPointF & position ) + + + moveCenter + moveCenter + ( const QPointF & position ) + + + moveLeft + moveLeft + ( qreal x ) + + + moveRight + moveRight + ( qreal x ) + + + moveTo + moveTo + ( qreal x, qreal y ) + + + moveTo + moveTo-2 + ( const QPointF & position ) + + + moveTop + moveTop + ( qreal y ) + + + moveTopLeft + moveTopLeft + ( const QPointF & position ) + + + moveTopRight + moveTopRight + ( const QPointF & position ) + + + normalized + normalized + () + + + right + right + () + + + setBottom + setBottom + ( qreal y ) + + + setBottomLeft + setBottomLeft + ( const QPointF & position ) + + + setBottomRight + setBottomRight + ( const QPointF & position ) + + + setCoords + setCoords + ( qreal x1, qreal y1, qreal x2, qreal y2 ) + + + setHeight + setHeight + ( qreal height ) + + + setLeft + setLeft + ( qreal x ) + + + setRect + setRect + ( qreal x, qreal y, qreal width, qreal height ) + + + setRight + setRight + ( qreal x ) + + + setSize + setSize + ( const QSizeF & size ) + + + setTop + setTop + ( qreal y ) + + + setTopLeft + setTopLeft + ( const QPointF & position ) + + + setTopRight + setTopRight + ( const QPointF & position ) + + + setWidth + setWidth + ( qreal width ) + + + setX + setX + ( qreal x ) + + + setY + setY + ( qreal y ) + + + size + size + () + + + toAlignedRect + toAlignedRect + () + + + toRect + toRect + () + + + top + top + () + + + topLeft + topLeft + () + + + topRight + topRight + () + + + translate + translate + ( qreal dx, qreal dy ) + + + translate + translate-2 + ( const QPointF & offset ) + + + translated + translated + ( qreal dx, qreal dy ) + + + translated + translated-2 + ( const QPointF & offset ) + + + united + united + ( const QRectF & rectangle ) + + + width + width + () + + + x + x + () + + + y + y + () + + + operator& + operator-and + amp;( const QRectF & rectangle ) + + + operator& + operator-and-eq + amp;=( const QRectF & rectangle ) + + + operator| + operator-7c + ( const QRectF & rectangle ) + + + operator|= + operator-7c-eq + ( const QRectF & rectangle ) + + + QRegExp + QRegExp-4 + ( const QString & pattern, bool cs, bool wildcard = false ) + + + caseSensitive + caseSensitive + () + + + minimal + minimal + () + + + search + search + ( const QString & str, int from = 0, CaretMode caretMode = CaretAtZero ) + + + searchRev + searchRev + ( const QString & str, int from = -1, CaretMode caretMode = CaretAtZero ) + + + setCaseSensitive + setCaseSensitive + ( bool sensitive ) + + + setWildcard + setWildcard + ( bool wildcard ) + + + wildcard + wildcard + () + + + + QRegExp + qregexp.html + + CaretMode + CaretMode-enum + + + + PatternSyntax + PatternSyntax-enum + + + + QRegExp + QRegExp + () + + + QRegExp + QRegExp-2 + ( const QString & pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, PatternSyntax syntax = RegExp ) + + + QRegExp + QRegExp-3 + ( const QRegExp & rx ) + + + cap + cap + ( int nth = 0 ) + + + capturedTexts + capturedTexts + () + + + CaseSensitivity + caseSensitivity + QRegExp::caseSensitivity() + + + errorString + errorString + () + + + escape + escape + ( const QString & str ) + + + exactMatch + exactMatch + ( const QString & str ) + + + indexIn + indexIn + ( const QString & str, int offset = 0, CaretMode caretMode = CaretAtZero ) + + + isEmpty + isEmpty + () + + + isMinimal + isMinimal + () + + + isValid + isValid + () + + + lastIndexIn + lastIndexIn + ( const QString & str, int offset = -1, CaretMode caretMode = CaretAtZero ) + + + matchedLength + matchedLength + () + + + numCaptures + numCaptures + () + + + pattern + pattern + () + + + patternSyntax + patternSyntax + () + + + pos + pos + ( int nth = 0 ) + + + setCaseSensitivity + setCaseSensitivity + ( Qt::CaseSensitivity cs ) + + + setMinimal + setMinimal + ( bool minimal ) + + + setPattern + setPattern + ( const QString & pattern ) + + + setPatternSyntax + setPatternSyntax + ( PatternSyntax syntax ) + + + operator!= + operator-not-eq + ( const QRegExp & rx ) + + + operator= + operator-eq + ( const QRegExp & rx ) + + + operator== + operator-eq-eq + ( const QRegExp & rx ) + + + QRegExp + QRegExp-4 + ( const QString & pattern, bool cs, bool wildcard = false ) + + + caseSensitive + caseSensitive + () + + + minimal + minimal + () + + + search + search + ( const QString & str, int from = 0, CaretMode caretMode = CaretAtZero ) + + + searchRev + searchRev + ( const QString & str, int from = -1, CaretMode caretMode = CaretAtZero ) + + + setCaseSensitive + setCaseSensitive + ( bool sensitive ) + + + setWildcard + setWildcard + ( bool wildcard ) + + + wildcard + wildcard + () + + + QRegExpValidator + QRegExpValidator-3 + ( QObject * parent, const char * name ) + + + QRegExpValidator + QRegExpValidator-4 + ( const QRegExp & rx, QObject * parent, const char * name ) + + + + QRegExpValidator + qregexpvalidator.html + + QRegExpValidator + QRegExpValidator + ( QObject * parent ) + + + QRegExpValidator + QRegExpValidator-2 + ( const QRegExp & rx, QObject * parent ) + + + State + validate + QRegExpValidator::validate( QString & input, int & pos ) + + + QRegExpValidator + QRegExpValidator-3 + ( QObject * parent, const char * name ) + + + QRegExpValidator + QRegExpValidator-4 + ( const QRegExp & rx, QObject * parent, const char * name ) + + + eor + eor + ( const QRegion & r ) + + + intersect + intersect + ( const QRegion & r ) + + + subtract + subtract + ( const QRegion & r ) + + + unite + unite + ( const QRegion & r ) + + + QRegion + QRegion-4 + ( const QPolygon & pa, bool winding ) + + + isNull + isNull + () + + + + QRegion + qregion.html + + RegionType + RegionType-enum + + + + QRegion + QRegion + () + + + QRegion + QRegion-2 + ( int x, int y, int w, int h, RegionType t = Rectangle ) + + + QRegion + QRegion-3 + ( const QPolygon & a, Qt::FillRule fillRule = Qt::OddEvenFill ) + + + QRegion + QRegion-5 + ( const QRegion & r ) + + + QRegion + QRegion-6 + ( const QBitmap & bm ) + + + QRegion + QRegion-7 + ( const QRect & r, RegionType t = Rectangle ) + + + boundingRect + boundingRect + () + + + contains + contains + ( const QPoint & p ) + + + contains + contains-2 + ( const QRect & r ) + + + handle + handle + () + + + intersected + intersected + ( const QRegion & r ) + + + intersects + intersects + ( const QRegion & region ) + + + intersects + intersects-2 + ( const QRect & rect ) + + + isEmpty + isEmpty + () + + + rects + rects + () + + + setRects + setRects + ( const QRect * rects, int number ) + + + subtracted + subtracted + ( const QRegion & r ) + + + translate + translate + ( int dx, int dy ) + + + translate + translate-2 + ( const QPoint & point ) + + + translated + translated + ( int dx, int dy ) + + + translated + translated-2 + ( const QPoint & p ) + + + united + united + ( const QRegion & r ) + + + xored + xored + ( const QRegion & r ) + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QRegion & other ) + + + operator& + operator-and + amp;( const QRegion & r ) + + + operator& + operator-and-eq + amp;=( const QRegion & r ) + + + operator+ + operator-2b + ( const QRegion & r ) + + + operator+= + operator-2b-eq + ( const QRegion & r ) + + + operator- + operator- + ( const QRegion & r ) + + + operator-= + operator--eq + ( const QRegion & r ) + + + operator= + operator-eq + ( const QRegion & r ) + + + operator== + operator-eq-eq + ( const QRegion & r ) + + + operator^ + operator-5e + ( const QRegion & r ) + + + operator^= + operator-5e-eq + ( const QRegion & r ) + + + operator| + operator-7c + ( const QRegion & r ) + + + operator|= + operator-7c-eq + ( const QRegion & r ) + + + QRegion + QRegion-4 + ( const QPolygon & pa, bool winding ) + + + isNull + isNull + () + + + + QResizeEvent + qresizeevent.html + + QResizeEvent + QResizeEvent + ( const QSize & size, const QSize & oldSize ) + + + oldSize + oldSize + () + + + size + size + () + + + addSearchPath + addSearchPath + ( const QString & path ) + + + + QResource + qresource.html + + QResource + QResource + ( const QString & file = QString() + + + absoluteFilePath + absoluteFilePath + () + + + children + children + () + + + data + data + () + + + fileName + fileName + () + + + isCompressed + isCompressed + () + + + isDir + isDir + () + + + isFile + isFile + () + + + isValid + isValid + () + + + locale + locale + () + + + registerResource + registerResource + ( const QString & rccFileName, const QString & mapRoot = QString() + + + registerResource + registerResource-2 + ( const uchar * rccData, const QString & mapRoot = QString() + + + searchPaths + searchPaths + () + + + setFileName + setFileName + ( const QString & file ) + + + setLocale + setLocale + ( const QLocale & locale ) + + + size + size + () + + + unregisterResource + unregisterResource + ( const QString & rccFileName, const QString & mapRoot = QString() + + + unregisterResource + unregisterResource-2 + ( const uchar * rccData, const QString & mapRoot = QString() + + + + QRubberBand + qrubberband.html + + Shape + Shape-enum + + + + QRubberBand + QRubberBand + ( Shape s, QWidget * p = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionRubberBand * option ) + + + move + move + ( int x, int y ) + + + move + move-2 + ( const QPoint & p ) + + + resize + resize + ( int width, int height ) + + + resize + resize-2 + ( const QSize & size ) + + + setGeometry + setGeometry + ( const QRect & rect ) + + + setGeometry + setGeometry-2 + ( int x, int y, int width, int height ) + + + shape + shape + () + + + + QScreen + qscreen.html + + PixelType + PixelType-enum + + + + QScreen + QScreen + ( int displayId ) + + + alloc + alloc + ( unsigned int red, unsigned int green, unsigned int blue ) + + + base + base + () + + + blank + blank + ( bool on ) + + + blit + blit + ( const QImage & image, const QPoint & topLeft, const QRegion & region ) + + + clut + clut + () + + + connect + connect + ( const QString & displaySpec ) + + + createSurface + createSurface + ( const QString & key ) + + + createSurface + createSurface-2 + ( QWidget * widget ) + + + depth + depth + () + + + deviceHeight + deviceHeight + () + + + deviceWidth + deviceWidth + () + + + disconnect + disconnect + () + + + exposeRegion + exposeRegion + ( QRegion region, int windowIndex ) + + + height + height + () + + + initDevice + initDevice + () + + + instance + instance + () + + + isInterlaced + isInterlaced + () + + + isTransformed + isTransformed + () + + + linestep + linestep + () + + + mapFromDevice + mapFromDevice + ( const QSize & size ) + + + mapFromDevice + mapFromDevice-2 + ( const QPoint & point, const QSize & screenSize ) + + + mapFromDevice + mapFromDevice-3 + ( const QRect & rectangle, const QSize & screenSize ) + + + mapFromDevice + mapFromDevice-4 + ( const QImage & image ) + + + mapFromDevice + mapFromDevice-5 + ( const QRegion & region, const QSize & screenSize ) + + + mapToDevice + mapToDevice + ( const QSize & size ) + + + mapToDevice + mapToDevice-2 + ( const QPoint & point, const QSize & screenSize ) + + + mapToDevice + mapToDevice-3 + ( const QRect & rectangle, const QSize & screenSize ) + + + mapToDevice + mapToDevice-4 + ( const QImage & image ) + + + mapToDevice + mapToDevice-5 + ( const QRegion & region, const QSize & screenSize ) + + + numCols + numCols + () + + + offset + offset + () + + + onCard + onCard + ( const unsigned char * buffer ) + + + onCard + onCard-2 + ( const unsigned char * buffer, ulong & offset ) + + + physicalHeight + physicalHeight + () + + + physicalWidth + physicalWidth + () + + + Format + pixelFormat + QScreen::pixelFormat() + + + pixelType + pixelType + () + + + pixmapDepth + pixmapDepth + () + + + pixmapLinestepAlignment + pixmapLinestepAlignment + () + + + pixmapOffsetAlignment + pixmapOffsetAlignment + () + + + region + region + () + + + restore + restore + () + + + save + save + () + + + screenSize + screenSize + () + + + setDirty + setDirty + ( const QRect & rectangle ) + + + setMode + setMode + ( int width, int height, int depth ) + + + setPixelFormat + setPixelFormat + ( QImage::Format format ) + + + shutdownDevice + shutdownDevice + () + + + solidFill + solidFill + ( const QColor & color, const QRegion & region ) + + + subScreenIndexAt + subScreenIndexAt + ( const QPoint & position ) + + + subScreens + subScreens + () + + + supportsDepth + supportsDepth + ( int depth ) + + + totalSize + totalSize + () + + + transformOrientation + transformOrientation + () + + + width + width + () + + + + QScreenCursor + qscreencursor.html + + QScreenCursor + QScreenCursor + () + + + boundingRect + boundingRect + () + + + hide + hide + () + + + image + image + () + + + initSoftwareCursor + initSoftwareCursor + () + + + instance + instance + () + + + isAccelerated + isAccelerated + () + + + isVisible + isVisible + () + + + move + move + ( int x, int y ) + + + set + set + ( const QImage & image, int hotx, int hoty ) + + + show + show + () + + + + QScreenDriverFactory + qscreendriverfactory.html + + create + create + ( const QString & key, int displayId ) + + + keys + keys + () + + + + QScreenDriverPlugin + qscreendriverplugin.html + + QScreenDriverPlugin + QScreenDriverPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key, int displayId ) + + + keys + keys + () + + + + QScriptable + qscriptable.html + + argument + argument + ( int index ) + + + argumentCount + argumentCount + () + + + context + context + () + + + engine + engine + () + + + thisObject + thisObject + () + + + + QScriptContext + qscriptcontext.html + + Error + Error-enum + + + + ExecutionState + ExecutionState-enum + + + + activationObject + activationObject + () + + + argument + argument + ( int index ) + + + argumentCount + argumentCount + () + + + argumentsObject + argumentsObject + () + + + backtrace + backtrace + () + + + callee + callee + () + + + engine + engine + () + + + isCalledAsConstructor + isCalledAsConstructor + () + + + parentContext + parentContext + () + + + setActivationObject + setActivationObject + ( const QScriptValue & activation ) + + + setThisObject + setThisObject + ( const QScriptValue & thisObject ) + + + state + state + () + + + thisObject + thisObject + () + + + throwError + throwError + ( Error error, const QString & text ) + + + throwError + throwError-2 + ( const QString & text ) + + + throwValue + throwValue + ( const QScriptValue & value ) + + + + QScriptEngine + qscriptengine.html + + FunctionSignature + FunctionSignature-typedef + + + + ValueOwnership + ValueOwnership-enum + + + + QScriptEngine + QScriptEngine + () + + + QScriptEngine + QScriptEngine-2 + ( QObject * parent ) + + + canEvaluate + canEvaluate + ( const QString & program ) + + + collectGarbage + collectGarbage + () + + + currentContext + currentContext + () + + + defaultPrototype + defaultPrototype + ( int metaTypeId ) + + + evaluate + evaluate + ( const QString & program, const QString & fileName = QString() + + + fromScriptValue + fromScriptValue + ( const QScriptValue & value ) + + + globalObject + globalObject + () + + + hasUncaughtException + hasUncaughtException + () + + + importExtension + importExtension + ( const QString & extension ) + + + newArray + newArray + ( uint length = 0 ) + + + newDate + newDate + ( qsreal value ) + + + newDate + newDate-2 + ( const QDateTime & value ) + + + newFunction + newFunction + ( FunctionSignature fun, int length = 0 ) + + + newFunction + newFunction-2 + ( FunctionSignature fun, const QScriptValue & prototype, int length = 0 ) + + + newObject + newObject + () + + + newQMetaObject + newQMetaObject + ( const QMetaObject * metaObject, const QScriptValue & ctor = QScriptValue() + + + newQObject + newQObject + ( QObject * object, ValueOwnership ownership = QtOwnership, const QObjectWrapOptions & options = 0 ) + + + newRegExp + newRegExp + ( const QRegExp & regexp ) + + + newRegExp + newRegExp-2 + ( const QString & pattern, const QString & flags ) + + + newVariant + newVariant + ( const QVariant & value ) + + + nullValue + nullValue + () + + + processEventsInterval + processEventsInterval + () + + + scriptValueFromQMetaObject + scriptValueFromQMetaObject + () + + + setDefaultPrototype + setDefaultPrototype + ( int metaTypeId, const QScriptValue & prototype ) + + + setProcessEventsInterval + setProcessEventsInterval + ( int interval ) + + + toScriptValue + toScriptValue + ( const T & value ) + + + uncaughtException + uncaughtException + () + + + uncaughtExceptionBacktrace + uncaughtExceptionBacktrace + () + + + uncaughtExceptionLineNumber + uncaughtExceptionLineNumber + () + + + undefinedValue + undefinedValue + () + + + FunctionSignature + FunctionSignature-typedef + + + + + QScriptExtensionPlugin + qscriptextensionplugin.html + + QScriptExtensionPlugin + QScriptExtensionPlugin + ( QObject * parent = 0 ) + + + initialize + initialize + ( const QString & key, QScriptEngine * engine ) + + + keys + keys + () + + + setupPackage + setupPackage + ( const QString & key, QScriptEngine * engine ) + + + + QScriptValue + qscriptvalue.html + + SpecialValue + SpecialValue-enum + + + + QScriptValue + QScriptValue + () + + + QScriptValue + QScriptValue-2 + ( const QScriptValue & other ) + + + QScriptValue + QScriptValue-3 + ( QScriptEngine * engine, SpecialValue value ) + + + QScriptValue + QScriptValue-4 + ( QScriptEngine * engine, bool value ) + + + QScriptValue + QScriptValue-5 + ( QScriptEngine * engine, int value ) + + + QScriptValue + QScriptValue-6 + ( QScriptEngine * engine, uint value ) + + + QScriptValue + QScriptValue-7 + ( QScriptEngine * engine, qsreal value ) + + + QScriptValue + QScriptValue-8 + ( QScriptEngine * engine, const QString & value ) + + + QScriptValue + QScriptValue-9 + ( QScriptEngine * engine, const char * value ) + + + call + call + ( const QScriptValue & thisObject = QScriptValue() + + + call + call-2 + ( const QScriptValue & thisObject, const QScriptValue & arguments ) + + + construct + construct + ( const QScriptValueList & args = QScriptValueList() + + + construct + construct-2 + ( const QScriptValue & arguments ) + + + engine + engine + () + + + equals + equals + ( const QScriptValue & other ) + + + instanceOf + instanceOf + ( const QScriptValue & ctorValue ) + + + isArray + isArray + () + + + isBoolean + isBoolean + () + + + isDate + isDate + () + + + isError + isError + () + + + isFunction + isFunction + () + + + isNull + isNull + () + + + isNumber + isNumber + () + + + isObject + isObject + () + + + isQMetaObject + isQMetaObject + () + + + isQObject + isQObject + () + + + isRegExp + isRegExp + () + + + isString + isString + () + + + isUndefined + isUndefined + () + + + isValid + isValid + () + + + isVariant + isVariant + () + + + lessThan + lessThan + ( const QScriptValue & other ) + + + property + property + ( const QString & name, const ResolveFlags & mode = ResolvePrototype ) + + + property + property-2 + ( quint32 arrayIndex, const ResolveFlags & mode = ResolvePrototype ) + + + PropertyFlags + propertyFlags + QScriptValue::propertyFlags( const QString & name, const ResolveFlags & mode = ResolvePrototype ) + + + prototype + prototype + () + + + setProperty + setProperty + ( const QString & name, const QScriptValue & value, const PropertyFlags & flags = KeepExistingFlags ) + + + setProperty + setProperty-2 + ( quint32 arrayIndex, const QScriptValue & value, const PropertyFlags & flags = KeepExistingFlags ) + + + setPrototype + setPrototype + ( const QScriptValue & prototype ) + + + strictlyEquals + strictlyEquals + ( const QScriptValue & other ) + + + toBoolean + toBoolean + () + + + toDateTime + toDateTime + () + + + toInt32 + toInt32 + () + + + toInteger + toInteger + () + + + toNumber + toNumber + () + + + toObject + toObject + () + + + toQMetaObject + toQMetaObject + () + + + toQObject + toQObject + () + + + toRegExp + toRegExp + () + + + toString + toString + () + + + toUInt16 + toUInt16 + () + + + toUInt32 + toUInt32 + () + + + toVariant + toVariant + () + + + operator= + operator-eq + ( const QScriptValue & other ) + + + + QScriptValueIterator + qscriptvalueiterator.html + + QScriptValueIterator + QScriptValueIterator + ( const QScriptValue & object ) + + + PropertyFlags + flags + QScriptValueIterator::flags() + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + name + name + () + + + next + next + () + + + previous + previous + () + + + remove + remove + () + + + setValue + setValue + ( const QScriptValue & value ) + + + toBack + toBack + () + + + toFront + toFront + () + + + value + value + () + + + operator= + operator-eq + ( QScriptValue & object ) + + + + QScrollArea + qscrollarea.html + + Alignment + alignment-prop + + + + QScrollArea + QScrollArea + ( QWidget * parent = 0 ) + + + ensureVisible + ensureVisible + ( int x, int y, int xmargin = 50, int ymargin = 50 ) + + + ensureWidgetVisible + ensureWidgetVisible + ( QWidget * childWidget, int xmargin = 50, int ymargin = 50 ) + + + setWidget + setWidget + ( QWidget * widget ) + + + takeWidget + takeWidget + () + + + widget + widget + () + + + QScrollBar + QScrollBar-3 + ( QWidget * parent, const char * name ) + + + QScrollBar + QScrollBar-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + QScrollBar + QScrollBar-5 + ( int minimum, int maximum, int lineStep, int pageStep, int value, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + draggingSlider + draggingSlider + () + + + + QScrollBar + qscrollbar.html + + QScrollBar + QScrollBar + ( QWidget * parent = 0 ) + + + QScrollBar + QScrollBar-2 + ( Qt::Orientation orientation, QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionSlider * option ) + + + QScrollBar + QScrollBar-3 + ( QWidget * parent, const char * name ) + + + QScrollBar + QScrollBar-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + QScrollBar + QScrollBar-5 + ( int minimum, int maximum, int lineStep, int pageStep, int value, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + draggingSlider + draggingSlider + () + + + + QSemaphore + qsemaphore.html + + QSemaphore + QSemaphore + ( int n = 0 ) + + + acquire + acquire + ( int n = 1 ) + + + available + available + () + + + release + release + ( int n = 1 ) + + + tryAcquire + tryAcquire + ( int n = 1 ) + + + tryAcquire + tryAcquire-2 + ( int n, int timeout ) + + + + QSessionManager + qsessionmanager.html + + RestartHint + RestartHint-enum + + + + allowsErrorInteraction + allowsErrorInteraction + () + + + allowsInteraction + allowsInteraction + () + + + cancel + cancel + () + + + discardCommand + discardCommand + () + + + isPhase2 + isPhase2 + () + + + release + release + () + + + requestPhase2 + requestPhase2 + () + + + restartCommand + restartCommand + () + + + restartHint + restartHint + () + + + sessionId + sessionId + () + + + sessionKey + sessionKey + () + + + setDiscardCommand + setDiscardCommand + ( const QStringList & list ) + + + setManagerProperty + setManagerProperty + ( const QString & name, const QStringList & value ) + + + setManagerProperty + setManagerProperty-2 + ( const QString & name, const QString & value ) + + + setRestartCommand + setRestartCommand + ( const QStringList & command ) + + + setRestartHint + setRestartHint + ( RestartHint hint ) + + + + QSet::const_iterator + qset-const-iterator.html + + const_iterator + const_iterator + () + + + const_iterator + const_iterator-3 + ( const const_iterator & other ) + + + const_iterator + const_iterator-4 + ( const iterator & other ) + + + operator!= + operator-not-eq + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator= + operator-eq + ( const const_iterator & other ) + + + operator== + operator-eq-eq + ( const const_iterator & other ) + + + + QSet::iterator + qset-iterator.html + + iterator + iterator + () + + + iterator + iterator-3 + ( const iterator & other ) + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator!= + operator-not-eq-2 + ( const const_iterator & other ) + + + operator* + operator-2a + () + + + operator+ + operator-2b + ( int j ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int j ) + + + operator- + operator- + ( int j ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int j ) + + + operator-& + operator--gt + gt;() + + + operator= + operator-eq + ( const iterator & other ) + + + operator== + operator-eq-eq + ( const iterator & other ) + + + operator== + operator-eq-eq-2 + ( const const_iterator & other ) + + + + QSet + qset.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + const_pointer + const_pointer-typedef + + + + const_reference + const_reference-typedef + + + + difference_type + difference_type-typedef + + + + key_type + key_type-typedef + + + + pointer + pointer-typedef + + + + reference + reference-typedef + + + + size_type + size_type-typedef + + + + value_type + value_type-typedef + + + + QSet + QSet + () + + + QSet + QSet-2 + ( const QSet<T> & other ) + + + begin + begin + () + + + begin + begin-2 + () + + + capacity + capacity + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constEnd + constEnd + () + + + constFind + constFind + ( const T & value ) + + + contains + contains + ( const T & value ) + + + count + count + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + find + find + ( const T & value ) + + + find + find-2 + ( const T & value ) + + + fromList + fromList + ( const QList<T> & list ) + + + insert + insert + ( const T & value ) + + + intersect + intersect + ( const QSet<T> & other ) + + + isEmpty + isEmpty + () + + + remove + remove + ( const T & value ) + + + reserve + reserve + ( int size ) + + + size + size + () + + + squeeze + squeeze + () + + + subtract + subtract + ( const QSet<T> & other ) + + + toList + toList + () + + + unite + unite + ( const QSet<T> & other ) + + + values + values + () + + + operator!= + operator-not-eq + ( const QSet<T> & other ) + + + operator& + operator-and + amp;( const QSet<T> & other ) + + + operator& + operator-and-eq + amp;=( const QSet<T> & other ) + + + operator& + operator-and-eq-2 + amp;=( const T & value ) + + + operator+ + operator-2b + ( const QSet<T> & other ) + + + operator+= + operator-2b-eq + ( const QSet<T> & other ) + + + operator+= + operator-2b-eq-2 + ( const T & value ) + + + operator- + operator- + ( const QSet<T> & other ) + + + operator-= + operator--eq + ( const QSet<T> & other ) + + + operator-= + operator--eq-2 + ( const T & value ) + + + operator<< + operator-lt-lt + ( const T & value ) + + + operator= + operator-eq + ( const QSet<T> & other ) + + + operator== + operator-eq-eq + ( const QSet<T> & other ) + + + operator| + operator-7c + ( const QSet<T> & other ) + + + operator|= + operator-7c-eq + ( const QSet<T> & other ) + + + operator|= + operator-7c-eq-2 + ( const T & value ) + + + + QSetIterator + qsetiterator.html + + QSetIterator + QSetIterator + ( const QSet<T> & set ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + operator= + operator-eq + ( const QSet<T> & set ) + + + setSystemIniPath + setSystemIniPath + ( const QString & dir ) + + + setUserIniPath + setUserIniPath + ( const QString & dir ) + + + System + System-enum + + + + entryList + entryList + ( const QString & key ) + + + insertSearchPath + insertSearchPath + ( System system, const QString & path ) + + + readBoolEntry + readBoolEntry + ( const QString & key, bool defaultValue = false, bool * ok = 0 ) + + + readDoubleEntry + readDoubleEntry + ( const QString & key, double defaultValue = 0, bool * ok = 0 ) + + + readEntry + readEntry + ( const QString & key, const QString & defaultValue = QString() + + + readListEntry + readListEntry + ( const QString & key, bool * ok = 0 ) + + + readListEntry + readListEntry-2 + ( const QString & key, QChar separator, bool * ok = 0 ) + + + readNumEntry + readNumEntry + ( const QString & key, int defaultValue = 0, bool * ok = 0 ) + + + removeEntry + removeEntry + ( const QString & key ) + + + removeSearchPath + removeSearchPath + ( System system, const QString & path ) + + + resetGroup + resetGroup + () + + + setPath + setPath-2 + ( const QString & organization, const QString & application, Scope scope = Global ) + + + subkeyList + subkeyList + ( const QString & key ) + + + writeEntry + writeEntry + ( const QString & key, bool value ) + + + writeEntry + writeEntry-2 + ( const QString & key, double value ) + + + writeEntry + writeEntry-3 + ( const QString & key, int value ) + + + writeEntry + writeEntry-4 + ( const QString & key, const char * value ) + + + writeEntry + writeEntry-5 + ( const QString & key, const QString & value ) + + + writeEntry + writeEntry-6 + ( const QString & key, const QStringList & value ) + + + writeEntry + writeEntry-7 + ( const QString & key, const QStringList & value, QChar separator ) + + + + QSettings + qsettings.html + + Format + Format-enum + + + + ReadFunc + ReadFunc-typedef + + + + Scope + Scope-enum + + + + SettingsMap + SettingsMap-typedef + + + + Status + Status-enum + + + + WriteFunc + WriteFunc-typedef + + + + QSettings + QSettings + ( const QString & organization, const QString & application = QString() + + + QSettings + QSettings-2 + ( Scope scope, const QString & organization, const QString & application = QString() + + + QSettings + QSettings-3 + ( Format format, Scope scope, const QString & organization, const QString & application = QString() + + + QSettings + QSettings-4 + ( const QString & fileName, Format format, QObject * parent = 0 ) + + + QSettings + QSettings-5 + ( QObject * parent = 0 ) + + + allKeys + allKeys + () + + + beginGroup + beginGroup + ( const QString & prefix ) + + + beginReadArray + beginReadArray + ( const QString & prefix ) + + + beginWriteArray + beginWriteArray + ( const QString & prefix, int size = -1 ) + + + childGroups + childGroups + () + + + childKeys + childKeys + () + + + clear + clear + () + + + contains + contains + ( const QString & key ) + + + endArray + endArray + () + + + endGroup + endGroup + () + + + fallbacksEnabled + fallbacksEnabled + () + + + fileName + fileName + () + + + group + group + () + + + isWritable + isWritable + () + + + registerFormat + registerFormat + ( const QString & extension, ReadFunc readFunc, WriteFunc writeFunc, Qt::CaseSensitivity caseSensitivity = Qt::CaseSensitive ) + + + remove + remove + ( const QString & key ) + + + setArrayIndex + setArrayIndex + ( int i ) + + + setFallbacksEnabled + setFallbacksEnabled + ( bool b ) + + + setPath + setPath + ( Format format, Scope scope, const QString & path ) + + + setValue + setValue + ( const QString & key, const QVariant & value ) + + + status + status + () + + + sync + sync + () + + + value + value + ( const QString & key, const QVariant & defaultValue = QVariant() + + + System + System-enum + + + + entryList + entryList + ( const QString & key ) + + + insertSearchPath + insertSearchPath + ( System system, const QString & path ) + + + readBoolEntry + readBoolEntry + ( const QString & key, bool defaultValue = false, bool * ok = 0 ) + + + readDoubleEntry + readDoubleEntry + ( const QString & key, double defaultValue = 0, bool * ok = 0 ) + + + readEntry + readEntry + ( const QString & key, const QString & defaultValue = QString() + + + readListEntry + readListEntry + ( const QString & key, bool * ok = 0 ) + + + readListEntry + readListEntry-2 + ( const QString & key, QChar separator, bool * ok = 0 ) + + + readNumEntry + readNumEntry + ( const QString & key, int defaultValue = 0, bool * ok = 0 ) + + + removeEntry + removeEntry + ( const QString & key ) + + + removeSearchPath + removeSearchPath + ( System system, const QString & path ) + + + resetGroup + resetGroup + () + + + setPath + setPath-2 + ( const QString & organization, const QString & application, Scope scope = Global ) + + + subkeyList + subkeyList + ( const QString & key ) + + + writeEntry + writeEntry + ( const QString & key, bool value ) + + + writeEntry + writeEntry-2 + ( const QString & key, double value ) + + + writeEntry + writeEntry-3 + ( const QString & key, int value ) + + + writeEntry + writeEntry-4 + ( const QString & key, const char * value ) + + + writeEntry + writeEntry-5 + ( const QString & key, const QString & value ) + + + writeEntry + writeEntry-6 + ( const QString & key, const QStringList & value ) + + + writeEntry + writeEntry-7 + ( const QString & key, const QStringList & value, QChar separator ) + + + + QSharedData + qshareddata.html + + QSharedData + QSharedData + () + + + QSharedData + QSharedData-2 + ( const QSharedData & other ) + + + + QSharedDataPointer + qshareddatapointer.html + + QSharedDataPointer + QSharedDataPointer + () + + + QSharedDataPointer + QSharedDataPointer-2 + ( T * sharedData ) + + + QSharedDataPointer + QSharedDataPointer-3 + ( const QSharedDataPointer<T> & other ) + + + constData + constData + () + + + data + data + () + + + data + data-2 + () + + + detach + detach + () + + + operator + operator-T--2a + T *() + + + operator + operator-const-T--2a + const T *() + + + operator! + operator-not + () + + + operator!= + operator-not-eq + ( const QSharedDataPointer<T> & other ) + + + operator* + operator-2a + () + + + operator* + operator-2a-2 + () + + + operator-& + operator--gt + gt;() + + + operator-& + operator--gt-2 + gt;() + + + operator= + operator-eq + ( const QSharedDataPointer<T> & other ) + + + operator= + operator-eq-2 + ( T * sharedData ) + + + operator== + operator-eq-eq + ( const QSharedDataPointer<T> & other ) + + + + QShortcut + qshortcut.html + + ShortcutContext + context-prop + + + + QShortcut + QShortcut + ( QWidget * parent ) + + + QShortcut + QShortcut-2 + ( const QKeySequence & key, QWidget * parent, const char * member = 0, const char * ambiguousMember = 0, Qt::ShortcutContext context = Qt::WindowShortcut ) + + + activated + activated + () + + + activatedAmbiguously + activatedAmbiguously + () + + + id + id + () + + + parentWidget + parentWidget + () + + + + QShortcutEvent + qshortcutevent.html + + QShortcutEvent + QShortcutEvent + ( const QKeySequence & key, int id, bool ambiguous = false ) + + + isAmbiguous + isAmbiguous + () + + + key + key + () + + + shortcutId + shortcutId + () + + + + QShowEvent + qshowevent.html + + QShowEvent + QShowEvent + () + + + QSignalMapper + QSignalMapper-2 + ( QObject * parent, const char * name ) + + + + QSignalMapper + qsignalmapper.html + + QSignalMapper + QSignalMapper + ( QObject * parent = 0 ) + + + map + map + () + + + map + map-2 + ( QObject * sender ) + + + mapped + mapped + ( int i ) + + + mapped + mapped-2 + ( const QString & text ) + + + mapped + mapped-3 + ( QWidget * widget ) + + + mapped + mapped-4 + ( QObject * object ) + + + mapping + mapping + ( int id ) + + + mapping + mapping-2 + ( const QString & id ) + + + mapping + mapping-3 + ( QWidget * widget ) + + + mapping + mapping-4 + ( QObject * object ) + + + removeMappings + removeMappings + ( QObject * sender ) + + + setMapping + setMapping + ( QObject * sender, int id ) + + + setMapping + setMapping-2 + ( QObject * sender, const QString & text ) + + + setMapping + setMapping-3 + ( QObject * sender, QWidget * widget ) + + + setMapping + setMapping-4 + ( QObject * sender, QObject * object ) + + + QSignalMapper + QSignalMapper-2 + ( QObject * parent, const char * name ) + + + + QSignalSpy + qsignalspy.html + + QSignalSpy + QSignalSpy + ( QObject * object, const char * signal ) + + + isValid + isValid + () + + + signal + signal + () + + + + QSize + qsize.html + + QSize + QSize + () + + + QSize + QSize-2 + ( int width, int height ) + + + boundedTo + boundedTo + ( const QSize & otherSize ) + + + expandedTo + expandedTo + ( const QSize & otherSize ) + + + height + height + () + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + isValid + isValid + () + + + rheight + rheight + () + + + rwidth + rwidth + () + + + scale + scale + ( int width, int height, Qt::AspectRatioMode mode ) + + + scale + scale-2 + ( const QSize & size, Qt::AspectRatioMode mode ) + + + setHeight + setHeight + ( int height ) + + + setWidth + setWidth + ( int width ) + + + transpose + transpose + () + + + width + width + () + + + operator*= + operator-2a-eq + ( qreal factor ) + + + operator+= + operator-2b-eq + ( const QSize & size ) + + + operator-= + operator--eq + ( const QSize & size ) + + + operator/= + operator-2f-eq + ( qreal divisor ) + + + + QSizeF + qsizef.html + + QSizeF + QSizeF + () + + + QSizeF + QSizeF-2 + ( const QSize & size ) + + + QSizeF + QSizeF-3 + ( qreal width, qreal height ) + + + boundedTo + boundedTo + ( const QSizeF & otherSize ) + + + expandedTo + expandedTo + ( const QSizeF & otherSize ) + + + height + height + () + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + isValid + isValid + () + + + rheight + rheight + () + + + rwidth + rwidth + () + + + scale + scale + ( qreal width, qreal height, Qt::AspectRatioMode mode ) + + + scale + scale-2 + ( const QSizeF & size, Qt::AspectRatioMode mode ) + + + setHeight + setHeight + ( qreal height ) + + + setWidth + setWidth + ( qreal width ) + + + toSize + toSize + () + + + transpose + transpose + () + + + width + width + () + + + operator*= + operator-2a-eq + ( qreal factor ) + + + operator+= + operator-2b-eq + ( const QSizeF & size ) + + + operator-= + operator--eq + ( const QSizeF & size ) + + + operator/= + operator-2f-eq + ( qreal divisor ) + + + QSizeGrip + QSizeGrip-2 + ( QWidget * parent, const char * name ) + + + + QSizeGrip + qsizegrip.html + + QSizeGrip + QSizeGrip + ( QWidget * parent ) + + + mouseMoveEvent + mouseMoveEvent + ( QMouseEvent * event ) + + + mousePressEvent + mousePressEvent + ( QMouseEvent * event ) + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + QSizeGrip + QSizeGrip-2 + ( QWidget * parent, const char * name ) + + + ExpandData + ExpandData-enum + + + + SizeType + SizeType-typedef + + + + QSizePolicy + QSizePolicy-4 + ( Policy horizontal, Policy vertical, bool dependent ) + + + QSizePolicy + QSizePolicy-5 + ( Policy horizontal, Policy vertical, uchar horizontalStretch, uchar verticalStretch, bool dependent = false ) + + + Orientations + expanding + QSizePolicy::expanding() + + + horData + horData + () + + + horStretch + horStretch + () + + + mayGrowHorizontally + mayGrowHorizontally + () + + + mayGrowVertically + mayGrowVertically + () + + + mayShrinkHorizontally + mayShrinkHorizontally + () + + + mayShrinkVertically + mayShrinkVertically + () + + + setHorData + setHorData + ( Policy policy ) + + + setHorStretch + setHorStretch + ( uchar stretch ) + + + setVerData + setVerData + ( Policy policy ) + + + setVerStretch + setVerStretch + ( uchar stretch ) + + + verData + verData + () + + + verStretch + verStretch + () + + + + QSizePolicy + qsizepolicy.html + + Policy + Policy-enum + + + + PolicyFlag + PolicyFlag-enum + + + + QSizePolicy + QSizePolicy + () + + + QSizePolicy + QSizePolicy-2 + ( Policy horizontal, Policy vertical ) + + + QSizePolicy + QSizePolicy-3 + ( Policy horizontal, Policy vertical, ControlType type ) + + + controlType + controlType + () + + + Orientations + expandingDirections + QSizePolicy::expandingDirections() + + + hasHeightForWidth + hasHeightForWidth + () + + + horizontalPolicy + horizontalPolicy + () + + + horizontalStretch + horizontalStretch + () + + + setControlType + setControlType + ( ControlType type ) + + + setHeightForWidth + setHeightForWidth + ( bool dependent ) + + + setHorizontalPolicy + setHorizontalPolicy + ( Policy policy ) + + + setHorizontalStretch + setHorizontalStretch + ( uchar stretchFactor ) + + + setVerticalPolicy + setVerticalPolicy + ( Policy policy ) + + + setVerticalStretch + setVerticalStretch + ( uchar stretchFactor ) + + + transpose + transpose + () + + + verticalPolicy + verticalPolicy + () + + + verticalStretch + verticalStretch + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QSizePolicy & other ) + + + operator== + operator-eq-eq + ( const QSizePolicy & other ) + + + ExpandData + ExpandData-enum + + + + SizeType + SizeType-typedef + + + + QSizePolicy + QSizePolicy-4 + ( Policy horizontal, Policy vertical, bool dependent ) + + + QSizePolicy + QSizePolicy-5 + ( Policy horizontal, Policy vertical, uchar horizontalStretch, uchar verticalStretch, bool dependent = false ) + + + Orientations + expanding + QSizePolicy::expanding() + + + horData + horData + () + + + horStretch + horStretch + () + + + mayGrowHorizontally + mayGrowHorizontally + () + + + mayGrowVertically + mayGrowVertically + () + + + mayShrinkHorizontally + mayShrinkHorizontally + () + + + mayShrinkVertically + mayShrinkVertically + () + + + setHorData + setHorData + ( Policy policy ) + + + setHorStretch + setHorStretch + ( uchar stretch ) + + + setVerData + setVerData + ( Policy policy ) + + + setVerStretch + setVerStretch + ( uchar stretch ) + + + verData + verData + () + + + verStretch + verStretch + () + + + QSlider + QSlider-3 + ( QWidget * parent, const char * name ) + + + QSlider + QSlider-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + QSlider + QSlider-5 + ( int minValue, int maxValue, int pageStep, int value, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + addStep + addStep + () + + + setTickmarks + setTickmarks + ( TickPosition position ) + + + subtractStep + subtractStep + () + + + tickmarks + tickmarks + () + + + + QSlider + qslider.html + + TickPosition + TickPosition-enum + + + + QSlider + QSlider + ( QWidget * parent = 0 ) + + + QSlider + QSlider-2 + ( Qt::Orientation orientation, QWidget * parent = 0 ) + + + initStyleOption + initStyleOption + ( QStyleOptionSlider * option ) + + + QSlider + QSlider-3 + ( QWidget * parent, const char * name ) + + + QSlider + QSlider-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + QSlider + QSlider-5 + ( int minValue, int maxValue, int pageStep, int value, Qt::Orientation orientation, QWidget * parent = 0, const char * name = 0 ) + + + addStep + addStep + () + + + setTickmarks + setTickmarks + ( TickPosition position ) + + + subtractStep + subtractStep + () + + + tickmarks + tickmarks + () + + + QSocketNotifier + QSocketNotifier-2 + ( int socket, Type type, QObject * parent, const char * name ) + + + + QSocketNotifier + qsocketnotifier.html + + Type + Type-enum + + + + QSocketNotifier + QSocketNotifier + ( int socket, Type type, QObject * parent = 0 ) + + + activated + activated + ( int socket ) + + + isEnabled + isEnabled + () + + + setEnabled + setEnabled + ( bool enable ) + + + socket + socket + () + + + type + type + () + + + QSocketNotifier + QSocketNotifier-2 + ( int socket, Type type, QObject * parent, const char * name ) + + + clear + clear + () + + + filterChanged + filterChanged + () + + + + QSortFilterProxyModel + qsortfilterproxymodel.html + + CaseSensitivity + filterCaseSensitivity-prop + + + + CaseSensitivity + sortCaseSensitivity-prop + + + + QSortFilterProxyModel + QSortFilterProxyModel + ( QObject * parent = 0 ) + + + filterAcceptsColumn + filterAcceptsColumn + ( int source_column, const QModelIndex & source_parent ) + + + filterAcceptsRow + filterAcceptsRow + ( int source_row, const QModelIndex & source_parent ) + + + invalidate + invalidate + () + + + invalidateFilter + invalidateFilter + () + + + lessThan + lessThan + ( const QModelIndex & left, const QModelIndex & right ) + + + mapFromSource + mapFromSource + ( const QModelIndex & sourceIndex ) + + + mapToSource + mapToSource + ( const QModelIndex & proxyIndex ) + + + setFilterFixedString + setFilterFixedString + ( const QString & pattern ) + + + setFilterWildcard + setFilterWildcard + ( const QString & pattern ) + + + QSound + QSound-2 + ( const QString & filename, QObject * parent, const char * name ) + + + available + available + () + + + + QSound + qsound.html + + QSound + QSound + ( const QString & filename, QObject * parent = 0 ) + + + fileName + fileName + () + + + isAvailable + isAvailable + () + + + isFinished + isFinished + () + + + loops + loops + () + + + loopsRemaining + loopsRemaining + () + + + play + play + ( const QString & filename ) + + + play + play-2 + () + + + setLoops + setLoops + ( int number ) + + + stop + stop + () + + + QSound + QSound-2 + ( const QString & filename, QObject * parent, const char * name ) + + + available + available + () + + + + QSpacerItem + qspaceritem.html + + QSpacerItem + QSpacerItem + ( int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum ) + + + changeSize + changeSize + ( int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum ) + + + isEmpty + isEmpty + () + + + spacerItem + spacerItem + () + + + QSpinBox + QSpinBox-2 + ( QWidget * parent, const char * name ) + + + QSpinBox + QSpinBox-3 + ( int minimum, int maximum, int step, QWidget * parent, const char * name = 0 ) + + + maxValue + maxValue + () + + + minValue + minValue + () + + + setLineStep + setLineStep + ( int step ) + + + setMaxValue + setMaxValue + ( int value ) + + + setMinValue + setMinValue + ( int value ) + + + + QSpinBox + qspinbox.html + + QSpinBox + QSpinBox + ( QWidget * parent = 0 ) + + + setRange + setRange + ( int minimum, int maximum ) + + + textFromValue + textFromValue + ( int value ) + + + valueChanged + valueChanged + ( int i ) + + + valueChanged + valueChanged-2 + ( const QString & text ) + + + valueFromText + valueFromText + ( const QString & text ) + + + QSpinBox + QSpinBox-2 + ( QWidget * parent, const char * name ) + + + QSpinBox + QSpinBox-3 + ( int minimum, int maximum, int step, QWidget * parent, const char * name = 0 ) + + + maxValue + maxValue + () + + + minValue + minValue + () + + + setLineStep + setLineStep + ( int step ) + + + setMaxValue + setMaxValue + ( int value ) + + + setMinValue + setMinValue + ( int value ) + + + clear + clear + () + + + message + message + ( const QString & message, int alignment = Qt::AlignLeft, const QColor & color = Qt::black ) + + + + QSplashScreen + qsplashscreen.html + + QSplashScreen + QSplashScreen + ( const QPixmap & pixmap = QPixmap() + + + QSplashScreen + QSplashScreen-2 + ( QWidget * parent, const QPixmap & pixmap = QPixmap() + + + clearMessage + clearMessage + () + + + drawContents + drawContents + ( QPainter * painter ) + + + finish + finish + ( QWidget * mainWin ) + + + messageChanged + messageChanged + ( const QString & message ) + + + pixmap + pixmap + () + + + repaint + repaint + () + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + showMessage + showMessage + ( const QString & message, int alignment = Qt::AlignLeft, const QColor & color = Qt::black ) + + + clear + clear + () + + + message + message + ( const QString & message, int alignment = Qt::AlignLeft, const QColor & color = Qt::black ) + + + ResizeMode + ResizeMode-enum + + + + QSplitter + QSplitter-3 + ( QWidget * parent, const char * name ) + + + QSplitter + QSplitter-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + margin + margin + () + + + moveToFirst + moveToFirst + ( QWidget * widget ) + + + moveToLast + moveToLast + ( QWidget * widget ) + + + setCollapsible + setCollapsible-2 + ( QWidget * widget, bool collapsible ) + + + setMargin + setMargin + ( int margin ) + + + setResizeMode + setResizeMode + ( QWidget * widget, ResizeMode mode ) + + + + QSplitter + qsplitter.html + + Orientation + orientation-prop + + + + QSplitter + QSplitter + ( QWidget * parent = 0 ) + + + QSplitter + QSplitter-2 + ( Qt::Orientation orientation, QWidget * parent = 0 ) + + + addWidget + addWidget + ( QWidget * widget ) + + + closestLegalPosition + closestLegalPosition + ( int pos, int index ) + + + count + count + () + + + createHandle + createHandle + () + + + getRange + getRange + ( int index, int * min, int * max ) + + + handle + handle + ( int index ) + + + indexOf + indexOf + ( QWidget * widget ) + + + insertWidget + insertWidget + ( int index, QWidget * widget ) + + + isCollapsible + isCollapsible + ( int index ) + + + moveSplitter + moveSplitter + ( int pos, int index ) + + + refresh + refresh + () + + + restoreState + restoreState + ( const QByteArray & state ) + + + saveState + saveState + () + + + setCollapsible + setCollapsible + ( int index, bool collapse ) + + + setRubberBand + setRubberBand + ( int pos ) + + + setSizes + setSizes + ( const QList<int> & list ) + + + setStretchFactor + setStretchFactor + ( int index, int stretch ) + + + sizes + sizes + () + + + splitterMoved + splitterMoved + ( int pos, int index ) + + + widget + widget + ( int index ) + + + ResizeMode + ResizeMode-enum + + + + QSplitter + QSplitter-3 + ( QWidget * parent, const char * name ) + + + QSplitter + QSplitter-4 + ( Qt::Orientation orientation, QWidget * parent, const char * name ) + + + margin + margin + () + + + moveToFirst + moveToFirst + ( QWidget * widget ) + + + moveToLast + moveToLast + ( QWidget * widget ) + + + setCollapsible + setCollapsible-2 + ( QWidget * widget, bool collapsible ) + + + setMargin + setMargin + ( int margin ) + + + setResizeMode + setResizeMode + ( QWidget * widget, ResizeMode mode ) + + + + QSplitterHandle + qsplitterhandle.html + + QSplitterHandle + QSplitterHandle + ( Qt::Orientation orientation, QSplitter * parent ) + + + closestLegalPosition + closestLegalPosition + ( int pos ) + + + moveSplitter + moveSplitter + ( int pos ) + + + opaqueResize + opaqueResize + () + + + Orientation + orientation + QSplitterHandle::orientation() + + + setOrientation + setOrientation + ( Qt::Orientation orientation ) + + + splitter + splitter + () + + + Confirm + Confirm-enum + + + + Op + Op-enum + + + + Location + Location-enum + + + + NumericalPrecisionPolicy + NumericalPrecisionPolicy-enum + + + + TableType + TableType-enum + + + + Confirm + Confirm-enum + + + + Op + Op-enum + + + + record + record-2 + ( const QSqlQuery & query ) + + + recordInfo + recordInfo + ( const QString & tablename ) + + + recordInfo + recordInfo-2 + ( const QSqlQuery & query ) + + + + QSqlDatabase + qsqldatabase.html + + QSqlDatabase + QSqlDatabase + () + + + QSqlDatabase + QSqlDatabase-2 + ( const QSqlDatabase & other ) + + + QSqlDatabase + QSqlDatabase-3 + ( const QString & type ) + + + QSqlDatabase + QSqlDatabase-4 + ( QSqlDriver * driver ) + + + addDatabase + addDatabase + ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) + + + addDatabase + addDatabase-2 + ( QSqlDriver * driver, const QString & connectionName = QLatin1String( defaultConnection ) + + + cloneDatabase + cloneDatabase + ( const QSqlDatabase & other, const QString & connectionName ) + + + close + close + () + + + commit + commit + () + + + connectOptions + connectOptions + () + + + connectionNames + connectionNames + () + + + contains + contains + ( const QString & connectionName = QLatin1String( defaultConnection ) + + + database + database + ( const QString & connectionName = QLatin1String( defaultConnection ) + + + databaseName + databaseName + () + + + driver + driver + () + + + driverName + driverName + () + + + drivers + drivers + () + + + exec + exec + ( const QString & query = QString() + + + hostName + hostName + () + + + isDriverAvailable + isDriverAvailable + ( const QString & name ) + + + isOpen + isOpen + () + + + isOpenError + isOpenError + () + + + isValid + isValid + () + + + lastError + lastError + () + + + open + open + () + + + open + open-2 + ( const QString & user, const QString & password ) + + + password + password + () + + + port + port + () + + + primaryIndex + primaryIndex + ( const QString & tablename ) + + + record + record + ( const QString & tablename ) + + + registerSqlDriver + registerSqlDriver + ( const QString & name, QSqlDriverCreatorBase * creator ) + + + removeDatabase + removeDatabase + ( const QString & connectionName ) + + + rollback + rollback + () + + + setConnectOptions + setConnectOptions + ( const QString & options = QString() + + + setDatabaseName + setDatabaseName + ( const QString & name ) + + + setHostName + setHostName + ( const QString & host ) + + + setPassword + setPassword + ( const QString & password ) + + + setPort + setPort + ( int port ) + + + setUserName + setUserName + ( const QString & name ) + + + tables + tables + ( QSql::TableType type = QSql::Tables ) + + + transaction + transaction + () + + + userName + userName + () + + + operator= + operator-eq + ( const QSqlDatabase & other ) + + + record + record-2 + ( const QSqlQuery & query ) + + + recordInfo + recordInfo + ( const QString & tablename ) + + + recordInfo + recordInfo-2 + ( const QSqlQuery & query ) + + + formatValue + formatValue-2 + ( const QSqlField * field, bool trimStrings = false ) + + + nullText + nullText + () + + + record + record-2 + ( const QSqlQuery & query ) + + + recordInfo + recordInfo + ( const QString & tablename ) + + + recordInfo + recordInfo-2 + ( const QSqlQuery & query ) + + + + QSqlDriver + qsqldriver.html + + DriverFeature + DriverFeature-enum + + + + IdentifierType + IdentifierType-enum + + + + StatementType + StatementType-enum + + + + QSqlDriver + QSqlDriver + ( QObject * parent = 0 ) + + + beginTransaction + beginTransaction + () + + + close + close + () + + + commitTransaction + commitTransaction + () + + + createResult + createResult + () + + + escapeIdentifier + escapeIdentifier + ( const QString & identifier, IdentifierType type ) + + + formatValue + formatValue + ( const QSqlField & field, bool trimStrings = false ) + + + handle + handle + () + + + hasFeature + hasFeature + ( DriverFeature feature ) + + + isOpen + isOpen + () + + + isOpenError + isOpenError + () + + + lastError + lastError + () + + + open + open + ( const QString & db, const QString & user = QString() + + + primaryIndex + primaryIndex + ( const QString & tableName ) + + + record + record + ( const QString & tableName ) + + + rollbackTransaction + rollbackTransaction + () + + + setLastError + setLastError + ( const QSqlError & error ) + + + setOpen + setOpen + ( bool open ) + + + setOpenError + setOpenError + ( bool error ) + + + sqlStatement + sqlStatement + ( StatementType type, const QString & tableName, const QSqlRecord & rec, bool preparedStatement ) + + + tables + tables + ( QSql::TableType tableType ) + + + formatValue + formatValue-2 + ( const QSqlField * field, bool trimStrings = false ) + + + nullText + nullText + () + + + record + record-2 + ( const QSqlQuery & query ) + + + recordInfo + recordInfo + ( const QString & tablename ) + + + recordInfo + recordInfo-2 + ( const QSqlQuery & query ) + + + + QSqlDriverCreator + qsqldrivercreator.html + + + QSqlDriverCreatorBase + qsqldrivercreatorbase.html + + createObject + createObject + () + + + + QSqlDriverPlugin + qsqldriverplugin.html + + QSqlDriverPlugin + QSqlDriverPlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QSqlError + qsqlerror.html + + ErrorType + ErrorType-enum + + + + QSqlError + QSqlError + ( const QString & driverText = QString() + + + QSqlError + QSqlError-2 + ( const QSqlError & other ) + + + databaseText + databaseText + () + + + driverText + driverText + () + + + isValid + isValid + () + + + number + number + () + + + setDatabaseText + setDatabaseText + ( const QString & databaseText ) + + + setDriverText + setDriverText + ( const QString & driverText ) + + + setNumber + setNumber + ( int number ) + + + setType + setType + ( ErrorType type ) + + + text + text + () + + + type + type + () + + + operator= + operator-eq + ( const QSqlError & other ) + + + setNull + setNull + () + + + + QSqlField + qsqlfield.html + + RequiredStatus + RequiredStatus-enum + + + + QSqlField + QSqlField + ( const QString & fieldName = QString() + + + QSqlField + QSqlField-2 + ( const QSqlField & other ) + + + clear + clear + () + + + defaultValue + defaultValue + () + + + isAutoValue + isAutoValue + () + + + isGenerated + isGenerated + () + + + isNull + isNull + () + + + isReadOnly + isReadOnly + () + + + isValid + isValid + () + + + length + length + () + + + name + name + () + + + precision + precision + () + + + requiredStatus + requiredStatus + () + + + setAutoValue + setAutoValue + ( bool autoVal ) + + + setDefaultValue + setDefaultValue + ( const QVariant & value ) + + + setGenerated + setGenerated + ( bool gen ) + + + setLength + setLength + ( int fieldLength ) + + + setName + setName + ( const QString & name ) + + + setPrecision + setPrecision + ( int precision ) + + + setReadOnly + setReadOnly + ( bool readOnly ) + + + setRequired + setRequired + ( bool required ) + + + setRequiredStatus + setRequiredStatus + ( RequiredStatus required ) + + + setType + setType + ( QVariant::Type type ) + + + setValue + setValue + ( const QVariant & value ) + + + Type + type + QSqlField::type() + + + value + value + () + + + operator!= + operator-not-eq + ( const QSqlField & other ) + + + operator= + operator-eq + ( const QSqlField & other ) + + + operator== + operator-eq-eq + ( const QSqlField & other ) + + + setNull + setNull + () + + + toString + toString + ( const QString & prefix = QString() + + + toStringList + toStringList + ( const QString & prefix = QString() + + + + QSqlIndex + qsqlindex.html + + QSqlIndex + QSqlIndex + ( const QString & cursorname = QString() + + + QSqlIndex + QSqlIndex-2 + ( const QSqlIndex & other ) + + + append + append + ( const QSqlField & field ) + + + append + append-2 + ( const QSqlField & field, bool desc ) + + + cursorName + cursorName + () + + + isDescending + isDescending + ( int i ) + + + name + name + () + + + setCursorName + setCursorName + ( const QString & cursorName ) + + + setDescending + setDescending + ( int i, bool desc ) + + + setName + setName + ( const QString & name ) + + + operator= + operator-eq + ( const QSqlIndex & other ) + + + toString + toString + ( const QString & prefix = QString() + + + toStringList + toStringList + ( const QString & prefix = QString() + + + prev + prev + () + + + + QSqlQuery + qsqlquery.html + + BatchExecutionMode + BatchExecutionMode-enum + + + + QSqlQuery + QSqlQuery + ( QSqlResult * result ) + + + QSqlQuery + QSqlQuery-2 + ( const QString & query = QString() + + + QSqlQuery + QSqlQuery-3 + ( QSqlDatabase db ) + + + QSqlQuery + QSqlQuery-4 + ( const QSqlQuery & other ) + + + addBindValue + addBindValue + ( const QVariant & val, QSql::ParamType paramType = QSql::In ) + + + at + at + () + + + bindValue + bindValue + ( const QString & placeholder, const QVariant & val, QSql::ParamType paramType = QSql::In ) + + + bindValue + bindValue-2 + ( int pos, const QVariant & val, QSql::ParamType paramType = QSql::In ) + + + boundValue + boundValue + ( const QString & placeholder ) + + + boundValue + boundValue-2 + ( int pos ) + + + boundValues + boundValues + () + + + clear + clear + () + + + driver + driver + () + + + exec + exec + ( const QString & query ) + + + exec + exec-2 + () + + + execBatch + execBatch + ( BatchExecutionMode mode = ValuesAsRows ) + + + executedQuery + executedQuery + () + + + first + first + () + + + isActive + isActive + () + + + isForwardOnly + isForwardOnly + () + + + isNull + isNull + ( int field ) + + + isSelect + isSelect + () + + + isValid + isValid + () + + + last + last + () + + + lastError + lastError + () + + + lastInsertId + lastInsertId + () + + + lastQuery + lastQuery + () + + + next + next + () + + + numRowsAffected + numRowsAffected + () + + + NumericalPrecisionPolicy + numericalPrecisionPolicy + QSqlQuery::numericalPrecisionPolicy() + + + prepare + prepare + ( const QString & query ) + + + previous + previous + () + + + record + record + () + + + result + result + () + + + seek + seek + ( int index, bool relative = false ) + + + setForwardOnly + setForwardOnly + ( bool forward ) + + + setNumericalPrecisionPolicy + setNumericalPrecisionPolicy + ( QSql::NumericalPrecisionPolicy precisionPolicy ) + + + size + size + () + + + value + value + ( int index ) + + + operator= + operator-eq + ( const QSqlQuery & other ) + + + prev + prev + () + + + + QSqlQueryModel + qsqlquerymodel.html + + QSqlQueryModel + QSqlQueryModel + ( QObject * parent = 0 ) + + + canFetchMore + canFetchMore + ( const QModelIndex & parent = QModelIndex() + + + clear + clear + () + + + data + data + ( const QModelIndex & item, int role = Qt::DisplayRole ) + + + fetchMore + fetchMore + ( const QModelIndex & parent = QModelIndex() + + + headerData + headerData + ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) + + + indexInQuery + indexInQuery + ( const QModelIndex & item ) + + + insertColumns + insertColumns + ( int column, int count, const QModelIndex & parent = QModelIndex() + + + lastError + lastError + () + + + query + query + () + + + queryChange + queryChange + () + + + record + record + ( int row ) + + + record + record-2 + () + + + removeColumns + removeColumns + ( int column, int count, const QModelIndex & parent = QModelIndex() + + + rowCount + rowCount + ( const QModelIndex & parent = QModelIndex() + + + setHeaderData + setHeaderData + ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole ) + + + setLastError + setLastError + ( const QSqlError & error ) + + + setQuery + setQuery + ( const QSqlQuery & query ) + + + setQuery + setQuery-2 + ( const QString & query, const QSqlDatabase & db = QSqlDatabase() + + + fieldPtr + fieldPtr + ( int index ) + + + fieldPtr + fieldPtr-2 + ( const QString & name ) + + + position + position + ( const QString & name ) + + + toString + toString + ( const QString & prefix = QString() + + + toStringList + toStringList + ( const QString & prefix = QString() + + + + QSqlRecord + qsqlrecord.html + + QSqlRecord + QSqlRecord + () + + + QSqlRecord + QSqlRecord-2 + ( const QSqlRecord & other ) + + + append + append + ( const QSqlField & field ) + + + clear + clear + () + + + clearValues + clearValues + () + + + contains + contains + ( const QString & name ) + + + count + count + () + + + field + field + ( int index ) + + + field + field-2 + ( const QString & name ) + + + fieldName + fieldName + ( int index ) + + + indexOf + indexOf + ( const QString & name ) + + + insert + insert + ( int pos, const QSqlField & field ) + + + isEmpty + isEmpty + () + + + isGenerated + isGenerated + ( const QString & name ) + + + isGenerated + isGenerated-2 + ( int index ) + + + isNull + isNull + ( const QString & name ) + + + isNull + isNull-2 + ( int index ) + + + remove + remove + ( int pos ) + + + replace + replace + ( int pos, const QSqlField & field ) + + + setGenerated + setGenerated + ( const QString & name, bool generated ) + + + setGenerated + setGenerated-2 + ( int index, bool generated ) + + + setNull + setNull + ( int index ) + + + setNull + setNull-2 + ( const QString & name ) + + + setValue + setValue + ( int index, const QVariant & val ) + + + setValue + setValue-2 + ( const QString & name, const QVariant & val ) + + + value + value + ( int index ) + + + value + value-2 + ( const QString & name ) + + + operator!= + operator-not-eq + ( const QSqlRecord & other ) + + + operator= + operator-eq + ( const QSqlRecord & other ) + + + operator== + operator-eq-eq + ( const QSqlRecord & other ) + + + fieldPtr + fieldPtr + ( int index ) + + + fieldPtr + fieldPtr-2 + ( const QString & name ) + + + position + position + ( const QString & name ) + + + toString + toString + ( const QString & prefix = QString() + + + toStringList + toStringList + ( const QString & prefix = QString() + + + + QSqlRelation + qsqlrelation.html + + QSqlRelation + QSqlRelation + () + + + QSqlRelation + QSqlRelation-2 + ( const QString & tableName, const QString & indexColumn, const QString & displayColumn ) + + + displayColumn + displayColumn + () + + + indexColumn + indexColumn + () + + + isValid + isValid + () + + + tableName + tableName + () + + + + QSqlRelationalDelegate + qsqlrelationaldelegate.html + + QSqlRelationalDelegate + QSqlRelationalDelegate + ( QObject * parent = 0 ) + + + + QSqlRelationalTableModel + qsqlrelationaltablemodel.html + + QSqlRelationalTableModel + QSqlRelationalTableModel + ( QObject * parent = 0, QSqlDatabase db = QSqlDatabase() + + + relation + relation + ( int column ) + + + relationModel + relationModel + ( int column ) + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) + + + setRelation + setRelation + ( int column, const QSqlRelation & relation ) + + + + QSqlResult + qsqlresult.html + + BindingSyntax + BindingSyntax-enum + + + + QSqlResult + QSqlResult + ( const QSqlDriver * db ) + + + addBindValue + addBindValue + ( const QVariant & val, QSql::ParamType paramType ) + + + at + at + () + + + bindValue + bindValue + ( int index, const QVariant & val, QSql::ParamType paramType ) + + + bindValue + bindValue-2 + ( const QString & placeholder, const QVariant & val, QSql::ParamType paramType ) + + + ParamType + bindValueType + QSqlResult::bindValueType( int index ) + + + ParamType + bindValueType-2 + QSqlResult::bindValueType( const QString & placeholder ) + + + bindingSyntax + bindingSyntax + () + + + boundValue + boundValue + ( int index ) + + + boundValue + boundValue-2 + ( const QString & placeholder ) + + + boundValueCount + boundValueCount + () + + + boundValueName + boundValueName + ( int index ) + + + boundValues + boundValues + () + + + clear + clear + () + + + data + data + ( int index ) + + + driver + driver + () + + + exec + exec + () + + + executedQuery + executedQuery + () + + + fetch + fetch + ( int index ) + + + fetchFirst + fetchFirst + () + + + fetchLast + fetchLast + () + + + fetchNext + fetchNext + () + + + fetchPrevious + fetchPrevious + () + + + handle + handle + () + + + hasOutValues + hasOutValues + () + + + isActive + isActive + () + + + isForwardOnly + isForwardOnly + () + + + isNull + isNull + ( int index ) + + + isSelect + isSelect + () + + + isValid + isValid + () + + + lastError + lastError + () + + + lastInsertId + lastInsertId + () + + + lastQuery + lastQuery + () + + + numRowsAffected + numRowsAffected + () + + + prepare + prepare + ( const QString & query ) + + + record + record + () + + + reset + reset + ( const QString & query ) + + + savePrepare + savePrepare + ( const QString & query ) + + + setActive + setActive + ( bool active ) + + + setAt + setAt + ( int index ) + + + setForwardOnly + setForwardOnly + ( bool forward ) + + + setLastError + setLastError + ( const QSqlError & error ) + + + setQuery + setQuery + ( const QString & query ) + + + setSelect + setSelect + ( bool select ) + + + size + size + () + + + + QSqlTableModel + qsqltablemodel.html + + EditStrategy + EditStrategy-enum + + + + QSqlTableModel + QSqlTableModel + ( QObject * parent = 0, QSqlDatabase db = QSqlDatabase() + + + beforeDelete + beforeDelete + ( int row ) + + + beforeInsert + beforeInsert + ( QSqlRecord & record ) + + + beforeUpdate + beforeUpdate + ( int row, QSqlRecord & record ) + + + database + database + () + + + deleteRowFromTable + deleteRowFromTable + ( int row ) + + + editStrategy + editStrategy + () + + + fieldIndex + fieldIndex + ( const QString & fieldName ) + + + filter + filter + () + + + indexInQuery + indexInQuery + ( const QModelIndex & item ) + + + insertRecord + insertRecord + ( int row, const QSqlRecord & record ) + + + insertRowIntoTable + insertRowIntoTable + ( const QSqlRecord & values ) + + + insertRows + insertRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + isDirty + isDirty + ( const QModelIndex & index ) + + + orderByClause + orderByClause + () + + + primaryKey + primaryKey + () + + + primeInsert + primeInsert + ( int row, QSqlRecord & record ) + + + removeColumns + removeColumns + ( int column, int count, const QModelIndex & parent = QModelIndex() + + + removeRows + removeRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + revert + revert + () + + + revertAll + revertAll + () + + + revertRow + revertRow + ( int row ) + + + select + select + () + + + selectStatement + selectStatement + () + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) + + + setEditStrategy + setEditStrategy + ( EditStrategy strategy ) + + + setFilter + setFilter + ( const QString & filter ) + + + setPrimaryKey + setPrimaryKey + ( const QSqlIndex & key ) + + + setQuery + setQuery + ( const QSqlQuery & query ) + + + setRecord + setRecord + ( int row, const QSqlRecord & record ) + + + setSort + setSort + ( int column, Qt::SortOrder order ) + + + setTable + setTable + ( const QString & tableName ) + + + sort + sort + ( int column, Qt::SortOrder order ) + + + submit + submit + () + + + submitAll + submitAll + () + + + tableName + tableName + () + + + updateRowInTable + updateRowInTable + ( int row, const QSqlRecord & values ) + + + AlternateNameEntryType + AlternateNameEntryType-enum + + + + EncodingFormat + EncodingFormat-enum + + + + KeyAlgorithm + KeyAlgorithm-enum + + + + KeyType + KeyType-enum + + + + SslProtocol + SslProtocol-enum + + + + + QSslCertificate + qsslcertificate.html + + SubjectInfo + SubjectInfo-enum + + + + QSslCertificate + QSslCertificate + ( QIODevice * device, QSsl::EncodingFormat format = QSsl::Pem ) + + + QSslCertificate + QSslCertificate-2 + ( const QByteArray & data = QByteArray() + + + QSslCertificate + QSslCertificate-3 + ( const QSslCertificate & other ) + + + AlternateNameEntryType + alternateSubjectNames + , QString> QSslCertificate::alternateSubjectNames() + + + clear + clear + () + + + digest + digest + ( QCryptographicHash::Algorithm algorithm = QCryptographicHash::Md5 ) + + + effectiveDate + effectiveDate + () + + + expiryDate + expiryDate + () + + + fromData + fromData + ( const QByteArray & data, QSsl::EncodingFormat format = QSsl::Pem ) + + + fromDevice + fromDevice + ( QIODevice * device, QSsl::EncodingFormat format = QSsl::Pem ) + + + fromPath + fromPath + ( const QString & path, QSsl::EncodingFormat format = QSsl::Pem, QRegExp::PatternSyntax syntax = QRegExp::FixedString ) + + + HANDLE + handle + QSslCertificate::handle() + + + isNull + isNull + () + + + isValid + isValid + () + + + issuerInfo + issuerInfo + ( SubjectInfo subject ) + + + issuerInfo + issuerInfo-2 + ( const QByteArray & tag ) + + + publicKey + publicKey + () + + + serialNumber + serialNumber + () + + + subjectInfo + subjectInfo + ( SubjectInfo subject ) + + + subjectInfo + subjectInfo-2 + ( const QByteArray & tag ) + + + toDer + toDer + () + + + toPem + toPem + () + + + version + version + () + + + operator!= + operator-not-eq + ( const QSslCertificate & other ) + + + operator= + operator-eq + ( const QSslCertificate & other ) + + + operator== + operator-eq-eq + ( const QSslCertificate & other ) + + + + QSslCipher + qsslcipher.html + + QSslCipher + QSslCipher + () + + + QSslCipher + QSslCipher-2 + ( const QString & name, QSsl::SslProtocol protocol ) + + + QSslCipher + QSslCipher-3 + ( const QSslCipher & other ) + + + authenticationMethod + authenticationMethod + () + + + encryptionMethod + encryptionMethod + () + + + isNull + isNull + () + + + keyExchangeMethod + keyExchangeMethod + () + + + name + name + () + + + SslProtocol + protocol + QSslCipher::protocol() + + + protocolString + protocolString + () + + + supportedBits + supportedBits + () + + + usedBits + usedBits + () + + + operator!= + operator-not-eq + ( const QSslCipher & other ) + + + operator= + operator-eq + ( const QSslCipher & other ) + + + operator== + operator-eq-eq + ( const QSslCipher & other ) + + + + QSslError + qsslerror.html + + SslError + SslError-enum + + + + QSslError + QSslError + ( SslError error = NoError, const QSslCertificate & certificate = QSslCertificate() + + + QSslError + QSslError-2 + ( const QSslError & other ) + + + certificate + certificate + () + + + error + error + () + + + errorString + errorString + () + + + + QSslKey + qsslkey.html + + QSslKey + QSslKey + () + + + QSslKey + QSslKey-2 + ( const QByteArray & encoded, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray & passPhrase = QByteArray() + + + QSslKey + QSslKey-3 + ( QIODevice * device, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray & passPhrase = QByteArray() + + + QSslKey + QSslKey-4 + ( const QSslKey & other ) + + + KeyAlgorithm + algorithm + QSslKey::algorithm() + + + clear + clear + () + + + HANDLE + handle + QSslKey::handle() + + + isNull + isNull + () + + + length + length + () + + + toDer + toDer + ( const QByteArray & passPhrase = QByteArray() + + + toPem + toPem + ( const QByteArray & passPhrase = QByteArray() + + + KeyType + type + QSslKey::type() + + + operator!= + operator-not-eq + ( const QSslKey & other ) + + + operator= + operator-eq + ( const QSslKey & other ) + + + operator== + operator-eq-eq + ( const QSslKey & other ) + + + + QSslSocket + qsslsocket.html + + SslMode + SslMode-enum + + + + QSslSocket + QSslSocket + ( QObject * parent = 0 ) + + + abort + abort + () + + + addCaCertificate + addCaCertificate + ( const QSslCertificate & certificate ) + + + addCaCertificates + addCaCertificates + ( const QString & path, QSsl::EncodingFormat format = QSsl::Pem, QRegExp::PatternSyntax syntax = QRegExp::FixedString ) + + + addCaCertificates + addCaCertificates-2 + ( const QList<QSslCertificate> & certificates ) + + + addDefaultCaCertificate + addDefaultCaCertificate + ( const QSslCertificate & certificate ) + + + addDefaultCaCertificates + addDefaultCaCertificates + ( const QString & path, QSsl::EncodingFormat encoding = QSsl::Pem, QRegExp::PatternSyntax syntax = QRegExp::FixedString ) + + + addDefaultCaCertificates + addDefaultCaCertificates-2 + ( const QList<QSslCertificate> & certificates ) + + + caCertificates + caCertificates + () + + + ciphers + ciphers + () + + + connectToHostEncrypted + connectToHostEncrypted + ( const QString & hostName, quint16 port, OpenMode mode = ReadWrite ) + + + defaultCaCertificates + defaultCaCertificates + () + + + defaultCiphers + defaultCiphers + () + + + encrypted + encrypted + () + + + flush + flush + () + + + ignoreSslErrors + ignoreSslErrors + () + + + isEncrypted + isEncrypted + () + + + localCertificate + localCertificate + () + + + mode + mode + () + + + modeChanged + modeChanged + ( QSslSocket::SslMode mode ) + + + peerCertificate + peerCertificate + () + + + peerCertificateChain + peerCertificateChain + () + + + privateKey + privateKey + () + + + SslProtocol + protocol + QSslSocket::protocol() + + + sessionCipher + sessionCipher + () + + + setCaCertificates + setCaCertificates + ( const QList<QSslCertificate> & certificates ) + + + setCiphers + setCiphers + ( const QList<QSslCipher> & ciphers ) + + + setCiphers + setCiphers-2 + ( const QString & ciphers ) + + + setDefaultCaCertificates + setDefaultCaCertificates + ( const QList<QSslCertificate> & certificates ) + + + setDefaultCiphers + setDefaultCiphers + ( const QList<QSslCipher> & ciphers ) + + + setLocalCertificate + setLocalCertificate + ( const QSslCertificate & certificate ) + + + setLocalCertificate + setLocalCertificate-2 + ( const QString & path, QSsl::EncodingFormat format = QSsl::Pem ) + + + setPrivateKey + setPrivateKey + ( const QSslKey & key ) + + + setPrivateKey + setPrivateKey-2 + ( const QString & fileName, QSsl::KeyAlgorithm algorithm = QSsl::Rsa, QSsl::EncodingFormat format = QSsl::Pem, const QByteArray & passPhrase = QByteArray() + + + setProtocol + setProtocol + ( QSsl::SslProtocol protocol ) + + + setSocketDescriptor + setSocketDescriptor + ( int socketDescriptor, SocketState state = ConnectedState, OpenMode openMode = ReadWrite ) + + + sslErrors + sslErrors + () + + + sslErrors + sslErrors-2 + ( const QList<QSslError> & errors ) + + + startClientEncryption + startClientEncryption + () + + + startServerEncryption + startServerEncryption + () + + + supportedCiphers + supportedCiphers + () + + + supportsSsl + supportsSsl + () + + + systemCaCertificates + systemCaCertificates + () + + + waitForConnected + waitForConnected + ( int msecs = 30000 ) + + + waitForDisconnected + waitForDisconnected + ( int msecs = 30000 ) + + + waitForEncrypted + waitForEncrypted + ( int msecs = 30000 ) + + + + QStack + qstack.html + + QStack + QStack + () + + + pop + pop + () + + + push + push + ( const T & t ) + + + top + top + () + + + top + top-2 + () + + + + QStackedLayout + qstackedlayout.html + + QStackedLayout + QStackedLayout + () + + + QStackedLayout + QStackedLayout-2 + ( QWidget * parent ) + + + QStackedLayout + QStackedLayout-3 + ( QLayout * parentLayout ) + + + addWidget + addWidget + ( QWidget * widget ) + + + currentChanged + currentChanged + ( int index ) + + + currentWidget + currentWidget + () + + + insertWidget + insertWidget + ( int index, QWidget * widget ) + + + setCurrentWidget + setCurrentWidget + ( QWidget * widget ) + + + widget + widget + ( int index ) + + + widgetRemoved + widgetRemoved + ( int index ) + + + + QStackedWidget + qstackedwidget.html + + QStackedWidget + QStackedWidget + ( QWidget * parent = 0 ) + + + addWidget + addWidget + ( QWidget * widget ) + + + currentChanged + currentChanged + ( int index ) + + + currentWidget + currentWidget + () + + + indexOf + indexOf + ( QWidget * widget ) + + + insertWidget + insertWidget + ( int index, QWidget * widget ) + + + removeWidget + removeWidget + ( QWidget * widget ) + + + setCurrentWidget + setCurrentWidget + ( QWidget * widget ) + + + widget + widget + ( int index ) + + + widgetRemoved + widgetRemoved + ( int index ) + + + + QStandardItem + qstandarditem.html + + ItemType + ItemType-enum + + + + QStandardItem + QStandardItem + () + + + QStandardItem + QStandardItem-2 + ( const QString & text ) + + + QStandardItem + QStandardItem-3 + ( const QIcon & icon, const QString & text ) + + + QStandardItem + QStandardItem-4 + ( int rows, int columns = 1 ) + + + QStandardItem + QStandardItem-5 + ( const QStandardItem & other ) + + + accessibleDescription + accessibleDescription + () + + + accessibleText + accessibleText + () + + + appendColumn + appendColumn + ( const QList<QStandardItem *> & items ) + + + appendRow + appendRow + ( const QList<QStandardItem *> & items ) + + + appendRow + appendRow-2 + ( QStandardItem * item ) + + + appendRows + appendRows + ( const QList<QStandardItem *> & items ) + + + background + background + () + + + CheckState + checkState + QStandardItem::checkState() + + + child + child + ( int row, int column = 0 ) + + + clone + clone + () + + + column + column + () + + + columnCount + columnCount + () + + + data + data + ( int role = Qt::UserRole + 1 ) + + + ItemFlags + flags + QStandardItem::flags() + + + font + font + () + + + foreground + foreground + () + + + hasChildren + hasChildren + () + + + icon + icon + () + + + index + index + () + + + insertColumn + insertColumn + ( int column, const QList<QStandardItem *> & items ) + + + insertColumns + insertColumns + ( int column, int count ) + + + insertRow + insertRow + ( int row, const QList<QStandardItem *> & items ) + + + insertRow + insertRow-2 + ( int row, QStandardItem * item ) + + + insertRows + insertRows + ( int row, const QList<QStandardItem *> & items ) + + + insertRows + insertRows-2 + ( int row, int count ) + + + isCheckable + isCheckable + () + + + isDragEnabled + isDragEnabled + () + + + isDropEnabled + isDropEnabled + () + + + isEditable + isEditable + () + + + isEnabled + isEnabled + () + + + isSelectable + isSelectable + () + + + isTristate + isTristate + () + + + model + model + () + + + parent + parent + () + + + read + read + ( QDataStream & in ) + + + removeColumn + removeColumn + ( int column ) + + + removeColumns + removeColumns + ( int column, int count ) + + + removeRow + removeRow + ( int row ) + + + removeRows + removeRows + ( int row, int count ) + + + row + row + () + + + rowCount + rowCount + () + + + setAccessibleDescription + setAccessibleDescription + ( const QString & accessibleDescription ) + + + setAccessibleText + setAccessibleText + ( const QString & accessibleText ) + + + setBackground + setBackground + ( const QBrush & brush ) + + + setCheckState + setCheckState + ( Qt::CheckState state ) + + + setCheckable + setCheckable + ( bool checkable ) + + + setChild + setChild + ( int row, int column, QStandardItem * item ) + + + setChild + setChild-2 + ( int row, QStandardItem * item ) + + + setColumnCount + setColumnCount + ( int columns ) + + + setData + setData + ( const QVariant & value, int role = Qt::UserRole + 1 ) + + + setDragEnabled + setDragEnabled + ( bool dragEnabled ) + + + setDropEnabled + setDropEnabled + ( bool dropEnabled ) + + + setEditable + setEditable + ( bool editable ) + + + setEnabled + setEnabled + ( bool enabled ) + + + setFlags + setFlags + ( Qt::ItemFlags flags ) + + + setFont + setFont + ( const QFont & font ) + + + setForeground + setForeground + ( const QBrush & brush ) + + + setIcon + setIcon + ( const QIcon & icon ) + + + setRowCount + setRowCount + ( int rows ) + + + setSelectable + setSelectable + ( bool selectable ) + + + setSizeHint + setSizeHint + ( const QSize & size ) + + + setStatusTip + setStatusTip + ( const QString & statusTip ) + + + setText + setText + ( const QString & text ) + + + setTextAlignment + setTextAlignment + ( Qt::Alignment alignment ) + + + setToolTip + setToolTip + ( const QString & toolTip ) + + + setTristate + setTristate + ( bool tristate ) + + + setWhatsThis + setWhatsThis + ( const QString & whatsThis ) + + + sizeHint + sizeHint + () + + + sortChildren + sortChildren + ( int column, Qt::SortOrder order = Qt::AscendingOrder ) + + + statusTip + statusTip + () + + + takeChild + takeChild + ( int row, int column = 0 ) + + + takeColumn + takeColumn + ( int column ) + + + takeRow + takeRow + ( int row ) + + + text + text + () + + + Alignment + textAlignment + QStandardItem::textAlignment() + + + toolTip + toolTip + () + + + type + type + () + + + whatsThis + whatsThis + () + + + write + write + ( QDataStream & out ) + + + operator< + operator-lt + ( const QStandardItem & other ) + + + operator= + operator-eq + ( const QStandardItem & other ) + + + + QStandardItemEditorCreator + qstandarditemeditorcreator.html + + QStandardItemEditorCreator + QStandardItemEditorCreator + () + + + + QStandardItemModel + qstandarditemmodel.html + + QStandardItemModel + QStandardItemModel + ( QObject * parent = 0 ) + + + QStandardItemModel + QStandardItemModel-2 + ( int rows, int columns, QObject * parent = 0 ) + + + appendColumn + appendColumn + ( const QList<QStandardItem *> & items ) + + + appendRow + appendRow + ( const QList<QStandardItem *> & items ) + + + appendRow + appendRow-2 + ( QStandardItem * item ) + + + clear + clear + () + + + findItems + findItems + ( const QString & text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0 ) + + + horizontalHeaderItem + horizontalHeaderItem + ( int column ) + + + indexFromItem + indexFromItem + ( const QStandardItem * item ) + + + insertColumn + insertColumn + ( int column, const QList<QStandardItem *> & items ) + + + insertRow + insertRow + ( int row, const QList<QStandardItem *> & items ) + + + insertRow + insertRow-3 + ( int row, QStandardItem * item ) + + + invisibleRootItem + invisibleRootItem + () + + + item + item + ( int row, int column = 0 ) + + + itemChanged + itemChanged + ( QStandardItem * item ) + + + itemFromIndex + itemFromIndex + ( const QModelIndex & index ) + + + itemPrototype + itemPrototype + () + + + setColumnCount + setColumnCount + ( int columns ) + + + setHorizontalHeaderItem + setHorizontalHeaderItem + ( int column, QStandardItem * item ) + + + setHorizontalHeaderLabels + setHorizontalHeaderLabels + ( const QStringList & labels ) + + + setItem + setItem + ( int row, int column, QStandardItem * item ) + + + setItem + setItem-2 + ( int row, QStandardItem * item ) + + + setItemPrototype + setItemPrototype + ( const QStandardItem * item ) + + + setRowCount + setRowCount + ( int rows ) + + + setVerticalHeaderItem + setVerticalHeaderItem + ( int row, QStandardItem * item ) + + + setVerticalHeaderLabels + setVerticalHeaderLabels + ( const QStringList & labels ) + + + takeColumn + takeColumn + ( int column ) + + + takeHorizontalHeaderItem + takeHorizontalHeaderItem + ( int column ) + + + takeItem + takeItem + ( int row, int column = 0 ) + + + takeRow + takeRow + ( int row ) + + + takeVerticalHeaderItem + takeVerticalHeaderItem + ( int row ) + + + verticalHeaderItem + verticalHeaderItem + ( int row ) + + + QStatusBar + QStatusBar-2 + ( QWidget * parent, const char * name ) + + + addWidget + addWidget-2 + ( QWidget * widget, int stretch, bool permanent ) + + + clear + clear + () + + + message + message + ( const QString & message, int timeout = 0 ) + + + + QStatusBar + qstatusbar.html + + QStatusBar + QStatusBar + ( QWidget * parent = 0 ) + + + addPermanentWidget + addPermanentWidget + ( QWidget * widget, int stretch = 0 ) + + + addWidget + addWidget + ( QWidget * widget, int stretch = 0 ) + + + clearMessage + clearMessage + () + + + currentMessage + currentMessage + () + + + hideOrShow + hideOrShow + () + + + insertPermanentWidget + insertPermanentWidget + ( int index, QWidget * widget, int stretch = 0 ) + + + insertWidget + insertWidget + ( int index, QWidget * widget, int stretch = 0 ) + + + messageChanged + messageChanged + ( const QString & message ) + + + reformat + reformat + () + + + removeWidget + removeWidget + ( QWidget * widget ) + + + showMessage + showMessage + ( const QString & message, int timeout = 0 ) + + + QStatusBar + QStatusBar-2 + ( QWidget * parent, const char * name ) + + + addWidget + addWidget-2 + ( QWidget * widget, int stretch, bool permanent ) + + + clear + clear + () + + + message + message + ( const QString & message, int timeout = 0 ) + + + + QStatusTipEvent + qstatustipevent.html + + QStatusTipEvent + QStatusTipEvent + ( const QString & tip ) + + + tip + tip + () + + + + QString::Null + qstring-null.html + + ascii + ascii + () + + + constref + constref + ( uint i ) + + + contains + contains-2 + ( QChar c, bool cs ) + + + contains + contains-3 + ( const QString & s, bool cs ) + + + copy + copy + () + + + endsWith + endsWith-2 + ( const QString & s, bool cs ) + + + find + find + ( QChar c, int i = 0, bool cs = true ) + + + find + find-2 + ( const QString & s, int i = 0, bool cs = true ) + + + find + find-3 + ( const QRegExp & rx, int i = 0 ) + + + findRev + findRev + ( QChar c, int i = -1, bool cs = true ) + + + findRev + findRev-2 + ( const QString & s, int i = -1, bool cs = true ) + + + findRev + findRev-3 + ( const QRegExp & rx, int i = -1 ) + + + fromUcs2 + fromUcs2 + ( const ushort * unicode, int size = -1 ) + + + latin1 + latin1 + () + + + leftJustify + leftJustify + ( int width, QChar fill = QLatin1Char( ' ' ) + + + local8Bit + local8Bit + () + + + lower + lower + () + + + ref + ref + ( uint i ) + + + remove + remove-2 + ( QChar c, bool cs ) + + + remove + remove-3 + ( const QString & s, bool cs ) + + + replace + replace-2 + ( QChar c, const QString & after, bool cs ) + + + replace + replace-3 + ( const QString & before, const QString & after, bool cs ) + + + replace + replace-4 + ( char c, const QString & after, bool cs ) + + + replace + replace-5 + ( char c, const QString & after, Qt::CaseSensitivity cs ) + + + rightJustify + rightJustify + ( int width, QChar fill = QLatin1Char( ' ' ) + + + setAscii + setAscii + ( const char * str, int len = -1 ) + + + setLatin1 + setLatin1 + ( const char * str, int len = -1 ) + + + setLength + setLength + ( int nl ) + + + setUnicodeCodes + setUnicodeCodes + ( const ushort * unicode_as_ushorts, int size ) + + + simplifyWhiteSpace + simplifyWhiteSpace + () + + + startsWith + startsWith-2 + ( const QString & s, bool cs ) + + + stripWhiteSpace + stripWhiteSpace + () + + + ucs2 + ucs2 + () + + + upper + upper + () + + + utf8 + utf8 + () + + + operator + operator-const-char--2a + const char *() + + + + QString + qstring.html + + DataPtr + DataPtr-typedef + + + + NormalizationForm + NormalizationForm-enum + + + + SplitBehavior + SplitBehavior-enum + + + + QString + QString + () + + + QString + QString-2 + ( const QChar * unicode, int size ) + + + QString + QString-3 + ( QChar ch ) + + + QString + QString-4 + ( int size, QChar ch ) + + + QString + QString-5 + ( const QLatin1String & str ) + + + QString + QString-6 + ( const QString & other ) + + + QString + QString-7 + ( const char * str ) + + + QString + QString-8 + ( const QByteArray & ba ) + + + append + append + ( const QString & str ) + + + append + append-2 + ( const QLatin1String & str ) + + + append + append-3 + ( const QByteArray & ba ) + + + append + append-4 + ( const char * str ) + + + append + append-5 + ( QChar ch ) + + + arg + arg + ( const QString & a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-2 + ( const QString & a1, const QString & a2 ) + + + arg + arg-3 + ( const QString & a1, const QString & a2, const QString & a3 ) + + + arg + arg-4 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4 ) + + + arg + arg-5 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5 ) + + + arg + arg-6 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6 ) + + + arg + arg-7 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7 ) + + + arg + arg-8 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8 ) + + + arg + arg-9 + ( const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8, const QString & a9 ) + + + arg + arg-10 + ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-11 + ( uint a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-12 + ( long a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-13 + ( ulong a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-14 + ( qlonglong a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-15 + ( qulonglong a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-16 + ( short a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-17 + ( ushort a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-18 + ( QChar a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-19 + ( char a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) + + + arg + arg-20 + ( double a, int fieldWidth = 0, char format = 'g', int precision = -1, const QChar & fillChar = QLatin1Char( ' ' ) + + + at + at + ( int position ) + + + capacity + capacity + () + + + chop + chop + ( int n ) + + + clear + clear + () + + + compare + compare + ( const QString & s1, const QString & s2, Qt::CaseSensitivity cs ) + + + compare + compare-2 + ( const QString & s1, const QString & s2 ) + + + compare + compare-3 + ( const QString & s1, const QLatin1String & s2, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + compare + compare-4 + ( const QLatin1String & s1, const QString & s2, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + compare + compare-5 + ( const QString & other ) + + + compare + compare-6 + ( const QString & other, Qt::CaseSensitivity cs ) + + + compare + compare-7 + ( const QLatin1String & other, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + constData + constData + () + + + contains + contains + ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + contains + contains-4 + ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + contains + contains-5 + ( const QRegExp & rx ) + + + count + count + ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + count + count-2 + ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + count + count-3 + ( const QRegExp & rx ) + + + count + count-4 + () + + + data + data + () + + + data + data-2 + () + + + data_ptr + data_ptr + () + + + endsWith + endsWith + ( const QString & s, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + endsWith + endsWith-3 + ( const QLatin1String & s, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + endsWith + endsWith-4 + ( const QChar & c, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + fill + fill + ( QChar ch, int size = -1 ) + + + fromAscii + fromAscii + ( const char * str, int size = -1 ) + + + fromLatin1 + fromLatin1 + ( const char * str, int size = -1 ) + + + fromLocal8Bit + fromLocal8Bit + ( const char * str, int size = -1 ) + + + fromRawData + fromRawData + ( const QChar * unicode, int size ) + + + fromStdString + fromStdString + ( const std::string & str ) + + + fromStdWString + fromStdWString + ( const std::wstring & str ) + + + fromUcs4 + fromUcs4 + ( const uint * unicode, int size = -1 ) + + + fromUtf8 + fromUtf8 + ( const char * str, int size = -1 ) + + + fromUtf16 + fromUtf16 + ( const ushort * unicode, int size = -1 ) + + + fromWCharArray + fromWCharArray + ( const wchar_t * string, int size = -1 ) + + + indexOf + indexOf + ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + indexOf + indexOf-2 + ( QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + indexOf + indexOf-3 + ( const QRegExp & rx, int from = 0 ) + + + insert + insert + ( int position, const QString & str ) + + + insert + insert-2 + ( int position, const QLatin1String & str ) + + + insert + insert-3 + ( int position, const QChar * unicode, int size ) + + + insert + insert-4 + ( int position, QChar ch ) + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + lastIndexOf + lastIndexOf + ( const QString & str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + lastIndexOf + lastIndexOf-2 + ( QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + lastIndexOf + lastIndexOf-3 + ( const QRegExp & rx, int from = -1 ) + + + left + left + ( int n ) + + + leftJustified + leftJustified + ( int width, QChar fill = QLatin1Char( ' ' ) + + + length + length + () + + + localeAwareCompare + localeAwareCompare + ( const QString & s1, const QString & s2 ) + + + localeAwareCompare + localeAwareCompare-2 + ( const QString & other ) + + + mid + mid + ( int position, int n = -1 ) + + + normalized + normalized + ( NormalizationForm mode ) + + + normalized + normalized-2 + ( NormalizationForm mode, QChar::UnicodeVersion version ) + + + number + number + ( long n, int base = 10 ) + + + number + number-2 + ( ulong n, int base = 10 ) + + + number + number-3 + ( int n, int base = 10 ) + + + number + number-4 + ( uint n, int base = 10 ) + + + number + number-5 + ( qlonglong n, int base = 10 ) + + + number + number-6 + ( qulonglong n, int base = 10 ) + + + number + number-7 + ( double n, char format = 'g', int precision = 6 ) + + + prepend + prepend + ( const QString & str ) + + + prepend + prepend-2 + ( const QLatin1String & str ) + + + prepend + prepend-3 + ( const QByteArray & ba ) + + + prepend + prepend-4 + ( const char * str ) + + + prepend + prepend-5 + ( QChar ch ) + + + push_back + push_back + ( const QString & other ) + + + push_back + push_back-2 + ( QChar ch ) + + + push_front + push_front + ( const QString & other ) + + + push_front + push_front-2 + ( QChar ch ) + + + remove + remove + ( int position, int n ) + + + remove + remove-4 + ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + remove + remove-5 + ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + remove + remove-6 + ( const QRegExp & rx ) + + + replace + replace + ( int position, int n, const QString & after ) + + + replace + replace-6 + ( int position, int n, const QChar * unicode, int size ) + + + replace + replace-7 + ( int position, int n, QChar after ) + + + replace + replace-8 + ( const QString & before, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + replace + replace-9 + ( QChar ch, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + replace + replace-10 + ( QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + replace + replace-11 + ( const QRegExp & rx, const QString & after ) + + + reserve + reserve + ( int size ) + + + resize + resize + ( int size ) + + + right + right + ( int n ) + + + rightJustified + rightJustified + ( int width, QChar fill = QLatin1Char( ' ' ) + + + section + section + ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) + + + section + section-2 + ( const QString & sep, int start, int end = -1, SectionFlags flags = SectionDefault ) + + + section + section-3 + ( const QRegExp & reg, int start, int end = -1, SectionFlags flags = SectionDefault ) + + + setNum + setNum + ( int n, int base = 10 ) + + + setNum + setNum-2 + ( uint n, int base = 10 ) + + + setNum + setNum-3 + ( long n, int base = 10 ) + + + setNum + setNum-4 + ( ulong n, int base = 10 ) + + + setNum + setNum-5 + ( qlonglong n, int base = 10 ) + + + setNum + setNum-6 + ( qulonglong n, int base = 10 ) + + + setNum + setNum-7 + ( short n, int base = 10 ) + + + setNum + setNum-8 + ( ushort n, int base = 10 ) + + + setNum + setNum-9 + ( double n, char format = 'g', int precision = 6 ) + + + setNum + setNum-10 + ( float n, char format = 'g', int precision = 6 ) + + + setUnicode + setUnicode + ( const QChar * unicode, int size ) + + + setUtf16 + setUtf16 + ( const ushort * unicode, int size ) + + + simplified + simplified + () + + + size + size + () + + + split + split + ( const QString & sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + split + split-2 + ( const QChar & sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + split + split-3 + ( const QRegExp & rx, SplitBehavior behavior = KeepEmptyParts ) + + + sprintf + sprintf + ( const char * cformat, ... ) + + + squeeze + squeeze + () + + + startsWith + startsWith + ( const QString & s, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + startsWith + startsWith-3 + ( const QLatin1String & s, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + startsWith + startsWith-4 + ( const QChar & c, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + toAscii + toAscii + () + + + toCaseFolded + toCaseFolded + () + + + toDouble + toDouble + ( bool * ok = 0 ) + + + toFloat + toFloat + ( bool * ok = 0 ) + + + toInt + toInt + ( bool * ok = 0, int base = 10 ) + + + toLatin1 + toLatin1 + () + + + toLocal8Bit + toLocal8Bit + () + + + toLong + toLong + ( bool * ok = 0, int base = 10 ) + + + toLongLong + toLongLong + ( bool * ok = 0, int base = 10 ) + + + toLower + toLower + () + + + toShort + toShort + ( bool * ok = 0, int base = 10 ) + + + string + toStdString + QString::toStdString() + + + wstring + toStdWString + QString::toStdWString() + + + toUInt + toUInt + ( bool * ok = 0, int base = 10 ) + + + toULong + toULong + ( bool * ok = 0, int base = 10 ) + + + toULongLong + toULongLong + ( bool * ok = 0, int base = 10 ) + + + toUShort + toUShort + ( bool * ok = 0, int base = 10 ) + + + toUcs4 + toUcs4 + () + + + toUpper + toUpper + () + + + toUtf8 + toUtf8 + () + + + toWCharArray + toWCharArray + ( wchar_t * array ) + + + trimmed + trimmed + () + + + truncate + truncate + ( int position ) + + + unicode + unicode + () + + + utf16 + utf16 + () + + + vsprintf + vsprintf + ( const char * cformat, va_list ap ) + + + operator!= + operator-not-eq + ( const QString & other ) + + + operator!= + operator-not-eq-2 + ( const QLatin1String & other ) + + + operator!= + operator-not-eq-3 + ( const QByteArray & other ) + + + operator!= + operator-not-eq-4 + ( const char * other ) + + + operator+= + operator-2b-eq + ( const QString & other ) + + + operator+= + operator-2b-eq-2 + ( const QLatin1String & str ) + + + operator+= + operator-2b-eq-3 + ( const QByteArray & ba ) + + + operator+= + operator-2b-eq-4 + ( const char * str ) + + + operator+= + operator-2b-eq-5 + ( char ch ) + + + operator+= + operator-2b-eq-6 + ( QChar ch ) + + + operator< + operator-lt + ( const QString & other ) + + + operator< + operator-lt-2 + ( const QLatin1String & other ) + + + operator< + operator-lt-3 + ( const QByteArray & other ) + + + operator< + operator-lt-4 + ( const char * other ) + + + operator<= + operator-lt-eq + ( const QString & other ) + + + operator<= + operator-lt-eq-2 + ( const QLatin1String & other ) + + + operator<= + operator-lt-eq-3 + ( const QByteArray & other ) + + + operator<= + operator-lt-eq-4 + ( const char * other ) + + + operator= + operator-eq + ( const QString & other ) + + + operator= + operator-eq-3 + ( const QLatin1String & str ) + + + operator= + operator-eq-4 + ( const QByteArray & ba ) + + + operator= + operator-eq-5 + ( const char * str ) + + + operator= + operator-eq-6 + ( char ch ) + + + operator= + operator-eq-7 + ( QChar ch ) + + + operator== + operator-eq-eq + ( const QString & other ) + + + operator== + operator-eq-eq-2 + ( const QLatin1String & other ) + + + operator== + operator-eq-eq-3 + ( const QByteArray & other ) + + + operator== + operator-eq-eq-4 + ( const char * other ) + + + operator> + operator-gt + ( const QString & other ) + + + operator> + operator-gt-2 + ( const QLatin1String & other ) + + + operator> + operator-gt-3 + ( const QByteArray & other ) + + + operator> + operator-gt-4 + ( const char * other ) + + + operator>= + operator-gt-eq + ( const QString & other ) + + + operator>= + operator-gt-eq-2 + ( const QLatin1String & other ) + + + operator>= + operator-gt-eq-3 + ( const QByteArray & other ) + + + operator>= + operator-gt-eq-4 + ( const char * other ) + + + operator[] + operator-5b-5d + ( int position ) + + + operator[] + operator-5b-5d-2 + ( int position ) + + + operator[] + operator-5b-5d-3 + ( uint position ) + + + operator[] + operator-5b-5d-4 + ( uint position ) + + + ascii + ascii + () + + + constref + constref + ( uint i ) + + + contains + contains-2 + ( QChar c, bool cs ) + + + contains + contains-3 + ( const QString & s, bool cs ) + + + copy + copy + () + + + endsWith + endsWith-2 + ( const QString & s, bool cs ) + + + find + find + ( QChar c, int i = 0, bool cs = true ) + + + find + find-2 + ( const QString & s, int i = 0, bool cs = true ) + + + find + find-3 + ( const QRegExp & rx, int i = 0 ) + + + findRev + findRev + ( QChar c, int i = -1, bool cs = true ) + + + findRev + findRev-2 + ( const QString & s, int i = -1, bool cs = true ) + + + findRev + findRev-3 + ( const QRegExp & rx, int i = -1 ) + + + fromUcs2 + fromUcs2 + ( const ushort * unicode, int size = -1 ) + + + latin1 + latin1 + () + + + leftJustify + leftJustify + ( int width, QChar fill = QLatin1Char( ' ' ) + + + local8Bit + local8Bit + () + + + lower + lower + () + + + ref + ref + ( uint i ) + + + remove + remove-2 + ( QChar c, bool cs ) + + + remove + remove-3 + ( const QString & s, bool cs ) + + + replace + replace-2 + ( QChar c, const QString & after, bool cs ) + + + replace + replace-3 + ( const QString & before, const QString & after, bool cs ) + + + replace + replace-4 + ( char c, const QString & after, bool cs ) + + + replace + replace-5 + ( char c, const QString & after, Qt::CaseSensitivity cs ) + + + rightJustify + rightJustify + ( int width, QChar fill = QLatin1Char( ' ' ) + + + setAscii + setAscii + ( const char * str, int len = -1 ) + + + setLatin1 + setLatin1 + ( const char * str, int len = -1 ) + + + setLength + setLength + ( int nl ) + + + setUnicodeCodes + setUnicodeCodes + ( const ushort * unicode_as_ushorts, int size ) + + + simplifyWhiteSpace + simplifyWhiteSpace + () + + + startsWith + startsWith-2 + ( const QString & s, bool cs ) + + + stripWhiteSpace + stripWhiteSpace + () + + + ucs2 + ucs2 + () + + + upper + upper + () + + + utf8 + utf8 + () + + + operator + operator-const-char--2a + const char *() + + + fromLast + fromLast + () + + + fromLast + fromLast-2 + () + + + grep + grep + ( const QString & str, bool cs = true ) + + + grep + grep-2 + ( const QRegExp & rx ) + + + gres + gres + ( const QRegExp & rx, const QString & after ) + + + gres + gres-2 + ( const QString & before, const QString & after, bool cs = true ) + + + split + split + ( const QRegExp & sep, const QString & str, bool allowEmptyEntries = false ) + + + split + split-2 + ( const QChar & sep, const QString & str, bool allowEmptyEntries = false ) + + + split + split-3 + ( const QString & sep, const QString & str, bool allowEmptyEntries = false ) + + + + QStringList + qstringlist.html + + QStringList + QStringList + () + + + QStringList + QStringList-2 + ( const QString & str ) + + + QStringList + QStringList-3 + ( const QStringList & other ) + + + QStringList + QStringList-4 + ( const QList<QString> & other ) + + + contains + contains + ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + filter + filter + ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + filter + filter-2 + ( const QRegExp & rx ) + + + indexOf + indexOf + ( const QRegExp & rx, int from = 0 ) + + + join + join + ( const QString & separator ) + + + lastIndexOf + lastIndexOf + ( const QRegExp & rx, int from = -1 ) + + + replaceInStrings + replaceInStrings + ( const QString & before, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + replaceInStrings + replaceInStrings-2 + ( const QRegExp & rx, const QString & after ) + + + sort + sort + () + + + operator+ + operator-2b + ( const QStringList & other ) + + + operator<< + operator-lt-lt + ( const QString & str ) + + + operator<< + operator-lt-lt-2 + ( const QStringList & other ) + + + fromLast + fromLast + () + + + fromLast + fromLast-2 + () + + + grep + grep + ( const QString & str, bool cs = true ) + + + grep + grep-2 + ( const QRegExp & rx ) + + + gres + gres + ( const QRegExp & rx, const QString & after ) + + + gres + gres-2 + ( const QString & before, const QString & after, bool cs = true ) + + + split + split + ( const QRegExp & sep, const QString & str, bool allowEmptyEntries = false ) + + + split + split-2 + ( const QChar & sep, const QString & str, bool allowEmptyEntries = false ) + + + split + split-3 + ( const QString & sep, const QString & str, bool allowEmptyEntries = false ) + + + + QStringListModel + qstringlistmodel.html + + QStringListModel + QStringListModel + ( QObject * parent = 0 ) + + + QStringListModel + QStringListModel-2 + ( const QStringList & strings, QObject * parent = 0 ) + + + data + data + ( const QModelIndex & index, int role ) + + + ItemFlags + flags + QStringListModel::flags( const QModelIndex & index ) + + + insertRows + insertRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + removeRows + removeRows + ( int row, int count, const QModelIndex & parent = QModelIndex() + + + rowCount + rowCount + ( const QModelIndex & parent = QModelIndex() + + + setData + setData + ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) + + + setStringList + setStringList + ( const QStringList & strings ) + + + stringList + stringList + () + + + + QStringMatcher + qstringmatcher.html + + QStringMatcher + QStringMatcher + () + + + QStringMatcher + QStringMatcher-2 + ( const QString & pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive ) + + + QStringMatcher + QStringMatcher-3 + ( const QStringMatcher & other ) + + + CaseSensitivity + caseSensitivity + QStringMatcher::caseSensitivity() + + + indexIn + indexIn + ( const QString & str, int from = 0 ) + + + pattern + pattern + () + + + setCaseSensitivity + setCaseSensitivity + ( Qt::CaseSensitivity cs ) + + + setPattern + setPattern + ( const QString & pattern ) + + + operator= + operator-eq + ( const QStringMatcher & other ) + + + + QStringRef + qstringref.html + + QStringRef + QStringRef + () + + + QStringRef + QStringRef-2 + ( const QString * string, int position, int length ) + + + QStringRef + QStringRef-3 + ( const QString * string ) + + + QStringRef + QStringRef-4 + ( const QStringRef & other ) + + + appendTo + appendTo + ( QString * string ) + + + at + at + ( int position ) + + + clear + clear + () + + + constData + constData + () + + + count + count + () + + + data + data + () + + + isEmpty + isEmpty + () + + + isNull + isNull + () + + + length + length + () + + + position + position + () + + + size + size + () + + + string + string + () + + + toString + toString + () + + + unicode + unicode + () + + + operator= + operator-eq + ( const QStringRef & other ) + + + operator= + operator-eq-2 + ( const QString * string ) + + + standardPixmap + standardPixmap + ( StandardPixmap standardPixmap, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + + QStyle + qstyle.html + + ComplexControl + ComplexControl-enum + + + + ContentsType + ContentsType-enum + + + + ControlElement + ControlElement-enum + + + + PixelMetric + PixelMetric-enum + + + + PrimitiveElement + PrimitiveElement-enum + + + + StandardPixmap + StandardPixmap-enum + + + + StyleHint + StyleHint-enum + + + + SubElement + SubElement-enum + + + + QStyle + QStyle + () + + + alignedRect + alignedRect + ( Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize & size, const QRect & rectangle ) + + + combinedLayoutSpacing + combinedLayoutSpacing + ( QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption * option = 0, QWidget * widget = 0 ) + + + drawComplexControl + drawComplexControl + ( ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0 ) + + + drawControl + drawControl + ( ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0 ) + + + drawItemPixmap + drawItemPixmap + ( QPainter * painter, const QRect & rectangle, int alignment, const QPixmap & pixmap ) + + + drawItemText + drawItemText + ( QPainter * painter, const QRect & rectangle, int alignment, const QPalette & palette, bool enabled, const QString & text, QPalette::ColorRole textRole = QPalette::NoRole ) + + + drawPrimitive + drawPrimitive + ( PrimitiveElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0 ) + + + generatedIconPixmap + generatedIconPixmap + ( QIcon::Mode iconMode, const QPixmap & pixmap, const QStyleOption * option ) + + + hitTestComplexControl + hitTestComplexControl + ( ComplexControl control, const QStyleOptionComplex * option, const QPoint & position, const QWidget * widget = 0 ) + + + itemPixmapRect + itemPixmapRect + ( const QRect & rectangle, int alignment, const QPixmap & pixmap ) + + + itemTextRect + itemTextRect + ( const QFontMetrics & metrics, const QRect & rectangle, int alignment, bool enabled, const QString & text ) + + + layoutSpacing + layoutSpacing + ( QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + layoutSpacingImplementation + layoutSpacingImplementation + ( QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + pixelMetric + pixelMetric + ( PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + polish + polish + ( QWidget * widget ) + + + polish + polish-2 + ( QApplication * application ) + + + polish + polish-3 + ( QPalette & palette ) + + + sizeFromContents + sizeFromContents + ( ContentsType type, const QStyleOption * option, const QSize & contentsSize, const QWidget * widget = 0 ) + + + sliderPositionFromValue + sliderPositionFromValue + ( int min, int max, int logicalValue, int span, bool upsideDown = false ) + + + sliderValueFromPosition + sliderValueFromPosition + ( int min, int max, int position, int span, bool upsideDown = false ) + + + standardIcon + standardIcon + ( StandardPixmap standardIcon, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + standardIconImplementation + standardIconImplementation + ( StandardPixmap standardIcon, const QStyleOption * option = 0, const QWidget * widget = 0 ) + + + standardPalette + standardPalette + () + + + styleHint + styleHint + ( StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0 ) + + + subControlRect + subControlRect + ( ComplexControl control, const QStyleOptionComplex * option, SubControl subControl, const QWidget * widget = 0 ) + + + subElementRect + subElementRect + ( SubElement element, const QStyleOption * option, const QWidget * widget = 0 ) + + + unpolish + unpolish + ( QWidget * widget ) + + + unpolish + unpolish-2 + ( QApplication * application ) + + + Alignment + visualAlignment + QStyle::visualAlignment( Qt::LayoutDirection direction, Qt::Alignment alignment ) + + + visualPos + visualPos + ( Qt::LayoutDirection direction, const QRect & boundingRectangle, const QPoint & logicalPosition ) + + + visualRect + visualRect + ( Qt::LayoutDirection direction, const QRect & boundingRectangle, const QRect & logicalRectangle ) + + + + QStyleFactory + qstylefactory.html + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QStyleHintReturn + qstylehintreturn.html + + HintReturnType + HintReturnType-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleHintReturn + QStyleHintReturn + ( int version = QStyleOption::Version, int type = SH_Default ) + + + type + type-varx + + + + version + version-var + + + + + QStyleHintReturnMask + qstylehintreturnmask.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleHintReturnMask + QStyleHintReturnMask + () + + + region + region-var + + + + + QStyleHintReturnVariant + qstylehintreturnvariant.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleHintReturnVariant + QStyleHintReturnVariant + () + + + variant + variant-var + + + + init + init + ( const QWidget * widget ) + + + + QStyleOption + qstyleoption.html + + OptionType + OptionType-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOption + QStyleOption + ( int version = QStyleOption::Version, int type = SO_Default ) + + + QStyleOption + QStyleOption-2 + ( const QStyleOption & other ) + + + initFrom + initFrom + ( const QWidget * widget ) + + + operator= + operator-eq + ( const QStyleOption & other ) + + + LayoutDirection + direction-var + QStyleOption::direction + + + fontMetrics + fontMetrics-var + + + + palette + palette-var + + + + rect + rect-var + + + + State + state-var + QStyleOption::state + + + type + type-varx + + + + version + version-var + + + + + QStyleOptionButton + qstyleoptionbutton.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionButton + QStyleOptionButton + () + + + QStyleOptionButton + QStyleOptionButton-2 + ( const QStyleOptionButton & other ) + + + features + features-var + + + + icon + icon-var + + + + iconSize + iconSize-var + + + + text + text-var + + + + + QStyleOptionComboBox + qstyleoptioncombobox.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionComboBox + QStyleOptionComboBox + () + + + QStyleOptionComboBox + QStyleOptionComboBox-2 + ( const QStyleOptionComboBox & other ) + + + currentIcon + currentIcon-var + + + + currentText + currentText-var + + + + editable + editable-var + + + + frame + frame-var + + + + iconSize + iconSize-var + + + + popupRect + popupRect-var + + + + + QStyleOptionComplex + qstyleoptioncomplex.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionComplex + QStyleOptionComplex + ( int version = QStyleOptionComplex::Version, int type = SO_Complex ) + + + QStyleOptionComplex + QStyleOptionComplex-2 + ( const QStyleOptionComplex & other ) + + + SubControls + activeSubControls-var + QStyleOptionComplex::activeSubControls + + + SubControls + subControls-var + QStyleOptionComplex::subControls + + + + QStyleOptionDockWidget + qstyleoptiondockwidget.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionDockWidget + QStyleOptionDockWidget + () + + + QStyleOptionDockWidget + QStyleOptionDockWidget-2 + ( const QStyleOptionDockWidget & other ) + + + closable + closable-var + + + + floatable + floatable-var + + + + movable + movable-var + + + + title + title-var + + + + + QStyleOptionFocusRect + qstyleoptionfocusrect.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionFocusRect + QStyleOptionFocusRect + () + + + QStyleOptionFocusRect + QStyleOptionFocusRect-2 + ( const QStyleOptionFocusRect & other ) + + + backgroundColor + backgroundColor-var + + + + + QStyleOptionFrame + qstyleoptionframe.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionFrame + QStyleOptionFrame + () + + + QStyleOptionFrame + QStyleOptionFrame-2 + ( const QStyleOptionFrame & other ) + + + lineWidth + lineWidth-var + + + + midLineWidth + midLineWidth-var + + + + + QStyleOptionFrameV2 + qstyleoptionframev2.html + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionFrameV2 + QStyleOptionFrameV2 + () + + + QStyleOptionFrameV2 + QStyleOptionFrameV2-2 + ( const QStyleOptionFrameV2 & other ) + + + QStyleOptionFrameV2 + QStyleOptionFrameV2-3 + ( const QStyleOptionFrame & other ) + + + operator= + operator-eq + ( const QStyleOptionFrame & other ) + + + + QStyleOptionGraphicsItem + qstyleoptiongraphicsitem.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionGraphicsItem + QStyleOptionGraphicsItem + () + + + QStyleOptionGraphicsItem + QStyleOptionGraphicsItem-2 + ( const QStyleOptionGraphicsItem & other ) + + + exposedRect + exposedRect-var + + + + levelOfDetail + levelOfDetail-var + + + + matrix + matrix-var + + + + + QStyleOptionGroupBox + qstyleoptiongroupbox.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionGroupBox + QStyleOptionGroupBox + () + + + QStyleOptionGroupBox + QStyleOptionGroupBox-2 + ( const QStyleOptionGroupBox & other ) + + + FrameFeatures + features-var + QStyleOptionGroupBox::features + + + lineWidth + lineWidth-var + + + + midLineWidth + midLineWidth-var + + + + text + text-var + + + + Alignment + textAlignment-var + QStyleOptionGroupBox::textAlignment + + + textColor + textColor-var + + + + + QStyleOptionHeader + qstyleoptionheader.html + + SectionPosition + SectionPosition-enum + + + + SelectedPosition + SelectedPosition-enum + + + + SortIndicator + SortIndicator-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionHeader + QStyleOptionHeader + () + + + QStyleOptionHeader + QStyleOptionHeader-2 + ( const QStyleOptionHeader & other ) + + + icon + icon-var + + + + Alignment + iconAlignment-var + QStyleOptionHeader::iconAlignment + + + Orientation + orientation-var + QStyleOptionHeader::orientation + + + position + position-var + + + + section + section-var + + + + selectedPosition + selectedPosition-var + + + + sortIndicator + sortIndicator-var + + + + text + text-var + + + + Alignment + textAlignment-var + QStyleOptionHeader::textAlignment + + + + QStyleOptionMenuItem + qstyleoptionmenuitem.html + + CheckType + CheckType-enum + + + + MenuItemType + MenuItemType-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionMenuItem + QStyleOptionMenuItem + () + + + QStyleOptionMenuItem + QStyleOptionMenuItem-2 + ( const QStyleOptionMenuItem & other ) + + + checkType + checkType-var + + + + checked + checked-var + + + + font + font-var + + + + icon + icon-var + + + + maxIconWidth + maxIconWidth-var + + + + menuHasCheckableItems + menuHasCheckableItems-var + + + + menuItemType + menuItemType-var + + + + menuRect + menuRect-var + + + + tabWidth + tabWidth-var + + + + text + text-var + + + + + QStyleOptionProgressBar + qstyleoptionprogressbar.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionProgressBar + QStyleOptionProgressBar + () + + + QStyleOptionProgressBar + QStyleOptionProgressBar-2 + ( const QStyleOptionProgressBar & other ) + + + maximum + maximum-var + + + + minimum + minimum-var + + + + progress + progress-var + + + + text + text-var + + + + Alignment + textAlignment-var + QStyleOptionProgressBar::textAlignment + + + textVisible + textVisible-var + + + + + QStyleOptionProgressBarV2 + qstyleoptionprogressbarv2.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionProgressBarV2 + QStyleOptionProgressBarV2 + () + + + QStyleOptionProgressBarV2 + QStyleOptionProgressBarV2-2 + ( const QStyleOptionProgressBar & other ) + + + QStyleOptionProgressBarV2 + QStyleOptionProgressBarV2-3 + ( const QStyleOptionProgressBarV2 & other ) + + + operator= + operator-eq + ( const QStyleOptionProgressBar & other ) + + + bottomToTop + bottomToTop-var + + + + invertedAppearance + invertedAppearance-var + + + + Orientation + orientation-var + QStyleOptionProgressBarV2::orientation + + + + QStyleOptionQ3DockWindow + qstyleoptionq3dockwindow.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionQ3DockWindow + QStyleOptionQ3DockWindow + () + + + QStyleOptionQ3DockWindow + QStyleOptionQ3DockWindow-2 + ( const QStyleOptionQ3DockWindow & other ) + + + closeEnabled + closeEnabled-var + + + + docked + docked-var + + + + + QStyleOptionQ3ListView + qstyleoptionq3listview.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionQ3ListView + QStyleOptionQ3ListView + () + + + QStyleOptionQ3ListView + QStyleOptionQ3ListView-2 + ( const QStyleOptionQ3ListView & other ) + + + itemMargin + itemMargin-var + + + + items + items-var + + + + rootIsDecorated + rootIsDecorated-var + + + + sortColumn + sortColumn-var + + + + treeStepSize + treeStepSize-var + + + + ColorRole + viewportBGRole-var + QStyleOptionQ3ListView::viewportBGRole + + + viewportPalette + viewportPalette-var + + + + + QStyleOptionQ3ListViewItem + qstyleoptionq3listviewitem.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionQ3ListViewItem + QStyleOptionQ3ListViewItem + () + + + QStyleOptionQ3ListViewItem + QStyleOptionQ3ListViewItem-2 + ( const QStyleOptionQ3ListViewItem & other ) + + + childCount + childCount-var + + + + features + features-var + + + + height + height-var + + + + itemY + itemY-var + + + + totalHeight + totalHeight-var + + + + + QStyleOptionRubberBand + qstyleoptionrubberband.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionRubberBand + QStyleOptionRubberBand + () + + + QStyleOptionRubberBand + QStyleOptionRubberBand-2 + ( const QStyleOptionRubberBand & other ) + + + opaque + opaque-var + + + + Shape + shape-var + QStyleOptionRubberBand::shape + + + + QStyleOptionSizeGrip + qstyleoptionsizegrip.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionSizeGrip + QStyleOptionSizeGrip + () + + + QStyleOptionSizeGrip + QStyleOptionSizeGrip-2 + ( const QStyleOptionSizeGrip & other ) + + + Corner + corner-var + QStyleOptionSizeGrip::corner + + + + QStyleOptionSlider + qstyleoptionslider.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionSlider + QStyleOptionSlider + () + + + QStyleOptionSlider + QStyleOptionSlider-2 + ( const QStyleOptionSlider & other ) + + + dialWrapping + dialWrapping-var + + + + maximum + maximum-var + + + + minimum + minimum-var + + + + notchTarget + notchTarget-var + + + + Orientation + orientation-var + QStyleOptionSlider::orientation + + + pageStep + pageStep-var + + + + singleStep + singleStep-var + + + + sliderPosition + sliderPosition-var + + + + sliderValue + sliderValue-var + + + + tickInterval + tickInterval-var + + + + TickPosition + tickPosition-var + QStyleOptionSlider::tickPosition + + + upsideDown + upsideDown-var + + + + + QStyleOptionSpinBox + qstyleoptionspinbox.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionSpinBox + QStyleOptionSpinBox + () + + + QStyleOptionSpinBox + QStyleOptionSpinBox-2 + ( const QStyleOptionSpinBox & other ) + + + ButtonSymbols + buttonSymbols-var + QStyleOptionSpinBox::buttonSymbols + + + frame + frame-var + + + + StepEnabled + stepEnabled-var + QStyleOptionSpinBox::stepEnabled + + + + QStyleOptionTab + qstyleoptiontab.html + + SelectedPosition + SelectedPosition-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + TabPosition + TabPosition-enum + + + + QStyleOptionTab + QStyleOptionTab + () + + + QStyleOptionTab + QStyleOptionTab-2 + ( const QStyleOptionTab & other ) + + + cornerWidgets + cornerWidgets-var + + + + icon + icon-var + + + + position + position-var + + + + row + row-var + + + + selectedPosition + selectedPosition-var + + + + Shape + shape-var + QStyleOptionTab::shape + + + text + text-var + + + + + QStyleOptionTabBarBase + qstyleoptiontabbarbase.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionTabBarBase + QStyleOptionTabBarBase + () + + + QStyleOptionTabBarBase + QStyleOptionTabBarBase-2 + ( const QStyleOptionTabBarBase & other ) + + + selectedTabRect + selectedTabRect-var + + + + Shape + shape-var + QStyleOptionTabBarBase::shape + + + tabBarRect + tabBarRect-var + + + + + QStyleOptionTabV2 + qstyleoptiontabv2.html + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionTabV2 + QStyleOptionTabV2 + () + + + QStyleOptionTabV2 + QStyleOptionTabV2-2 + ( const QStyleOptionTabV2 & other ) + + + QStyleOptionTabV2 + QStyleOptionTabV2-3 + ( const QStyleOptionTab & other ) + + + operator= + operator-eq + ( const QStyleOptionTab & other ) + + + iconSize + iconSize-var + + + + + QStyleOptionTabWidgetFrame + qstyleoptiontabwidgetframe.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionTabWidgetFrame + QStyleOptionTabWidgetFrame + () + + + QStyleOptionTabWidgetFrame + QStyleOptionTabWidgetFrame-2 + ( const QStyleOptionTabWidgetFrame & other ) + + + leftCornerWidgetSize + leftCornerWidgetSize-var + + + + lineWidth + lineWidth-var + + + + midLineWidth + midLineWidth-var + + + + rightCornerWidgetSize + rightCornerWidgetSize-var + + + + Shape + shape-var + QStyleOptionTabWidgetFrame::shape + + + tabBarSize + tabBarSize-var + + + + + QStyleOptionTitleBar + qstyleoptiontitlebar.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionTitleBar + QStyleOptionTitleBar + () + + + QStyleOptionTitleBar + QStyleOptionTitleBar-2 + ( const QStyleOptionTitleBar & other ) + + + icon + icon-var + + + + text + text-var + + + + WindowFlags + titleBarFlags-var + QStyleOptionTitleBar::titleBarFlags + + + titleBarState + titleBarState-var + + + + + QStyleOptionToolBar + qstyleoptiontoolbar.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + ToolBarPosition + ToolBarPosition-enum + + + + QStyleOptionToolBar + QStyleOptionToolBar + () + + + QStyleOptionToolBar + QStyleOptionToolBar-2 + ( const QStyleOptionToolBar & other ) + + + features + features-var + + + + lineWidth + lineWidth-var + + + + midLineWidth + midLineWidth-var + + + + positionOfLine + positionOfLine-var + + + + positionWithinLine + positionWithinLine-var + + + + ToolBarArea + toolBarArea-var + QStyleOptionToolBar::toolBarArea + + + + QStyleOptionToolBox + qstyleoptiontoolbox.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionToolBox + QStyleOptionToolBox + () + + + QStyleOptionToolBox + QStyleOptionToolBox-2 + ( const QStyleOptionToolBox & other ) + + + icon + icon-var + + + + text + text-var + + + + + QStyleOptionToolBoxV2 + qstyleoptiontoolboxv2.html + + SelectedPosition + SelectedPosition-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + TabPosition + TabPosition-enum + + + + QStyleOptionToolBoxV2 + QStyleOptionToolBoxV2 + () + + + QStyleOptionToolBoxV2 + QStyleOptionToolBoxV2-2 + ( const QStyleOptionToolBoxV2 & other ) + + + QStyleOptionToolBoxV2 + QStyleOptionToolBoxV2-3 + ( const QStyleOptionToolBox & other ) + + + operator= + operator-eq + ( const QStyleOptionToolBox & other ) + + + selectedPosition + selectedPosition-var + + + + + QStyleOptionToolButton + qstyleoptiontoolbutton.html + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionToolButton + QStyleOptionToolButton + () + + + QStyleOptionToolButton + QStyleOptionToolButton-2 + ( const QStyleOptionToolButton & other ) + + + ArrowType + arrowType-var + QStyleOptionToolButton::arrowType + + + features + features-var + + + + font + font-var + + + + icon + icon-var + + + + iconSize + iconSize-var + + + + pos + pos-var + + + + text + text-var + + + + ToolButtonStyle + toolButtonStyle-var + QStyleOptionToolButton::toolButtonStyle + + + + QStyleOptionViewItem + qstyleoptionviewitem.html + + Position + Position-enum + + + + StyleOptionType + StyleOptionType-enum + + + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionViewItem + QStyleOptionViewItem + () + + + QStyleOptionViewItem + QStyleOptionViewItem-2 + ( const QStyleOptionViewItem & other ) + + + Alignment + decorationAlignment-var + QStyleOptionViewItem::decorationAlignment + + + decorationPosition + decorationPosition-var + + + + decorationSize + decorationSize-var + + + + Alignment + displayAlignment-var + QStyleOptionViewItem::displayAlignment + + + font + font-var + + + + showDecorationSelected + showDecorationSelected-var + + + + TextElideMode + textElideMode-var + QStyleOptionViewItem::textElideMode + + + + QStyleOptionViewItemV2 + qstyleoptionviewitemv2.html + + StyleOptionVersion + StyleOptionVersion-enum + + + + QStyleOptionViewItemV2 + QStyleOptionViewItemV2 + () + + + QStyleOptionViewItemV2 + QStyleOptionViewItemV2-2 + ( const QStyleOptionViewItemV2 & other ) + + + QStyleOptionViewItemV2 + QStyleOptionViewItemV2-3 + ( const QStyleOptionViewItem & other ) + + + operator= + operator-eq + ( const QStyleOptionViewItem & other ) + + + features + features-var + + + + + QStylePainter + qstylepainter.html + + QStylePainter + QStylePainter + () + + + QStylePainter + QStylePainter-2 + ( QWidget * widget ) + + + QStylePainter + QStylePainter-3 + ( QPaintDevice * pd, QWidget * widget ) + + + begin + begin + ( QWidget * widget ) + + + begin + begin-2 + ( QPaintDevice * pd, QWidget * widget ) + + + drawComplexControl + drawComplexControl + ( QStyle::ComplexControl cc, const QStyleOptionComplex & option ) + + + drawControl + drawControl + ( QStyle::ControlElement ce, const QStyleOption & option ) + + + drawItemPixmap + drawItemPixmap + ( const QRect & rect, int flags, const QPixmap & pixmap ) + + + drawItemText + drawItemText + ( const QRect & rect, int flags, const QPalette & pal, bool enabled, const QString & text, QPalette::ColorRole textRole = QPalette::NoRole ) + + + drawPrimitive + drawPrimitive + ( QStyle::PrimitiveElement pe, const QStyleOption & option ) + + + style + style + () + + + + QStylePlugin + qstyleplugin.html + + QStylePlugin + QStylePlugin + ( QObject * parent = 0 ) + + + create + create + ( const QString & key ) + + + keys + keys + () + + + + QSvgGenerator + qsvggenerator.html + + QSvgGenerator + QSvgGenerator + () + + + fileName + fileName + () + + + outputDevice + outputDevice + () + + + paintEngine + paintEngine + () + + + resolution + resolution + () + + + setFileName + setFileName + ( const QString & fileName ) + + + setOutputDevice + setOutputDevice + ( QIODevice * outputDevice ) + + + setResolution + setResolution + ( int resolution ) + + + setSize + setSize + ( const QSize & size ) + + + size + size + () + + + + QSvgRenderer + qsvgrenderer.html + + QSvgRenderer + QSvgRenderer + ( QObject * parent = 0 ) + + + QSvgRenderer + QSvgRenderer-2 + ( const QString & filename, QObject * parent = 0 ) + + + QSvgRenderer + QSvgRenderer-3 + ( const QByteArray & contents, QObject * parent = 0 ) + + + animated + animated + () + + + boundsOnElement + boundsOnElement + ( const QString & id ) + + + defaultSize + defaultSize + () + + + elementExists + elementExists + ( const QString & id ) + + + isValid + isValid + () + + + load + load + ( const QString & filename ) + + + load + load-2 + ( const QByteArray & contents ) + + + matrixForElement + matrixForElement + ( const QString & id ) + + + render + render + ( QPainter * painter ) + + + render + render-2 + ( QPainter * painter, const QRectF & bounds ) + + + render + render-3 + ( QPainter * painter, const QString & elementId, const QRectF & bounds = QRectF() + + + repaintNeeded + repaintNeeded + () + + + viewBox + viewBox + () + + + + QSvgWidget + qsvgwidget.html + + QSvgWidget + QSvgWidget + ( QWidget * parent = 0 ) + + + QSvgWidget + QSvgWidget-2 + ( const QString & file, QWidget * parent = 0 ) + + + load + load + ( const QString & file ) + + + load + load-2 + ( const QByteArray & contents ) + + + renderer + renderer + () + + + + QSyntaxHighlighter + qsyntaxhighlighter.html + + QSyntaxHighlighter + QSyntaxHighlighter + ( QObject * parent ) + + + QSyntaxHighlighter + QSyntaxHighlighter-2 + ( QTextDocument * parent ) + + + QSyntaxHighlighter + QSyntaxHighlighter-3 + ( QTextEdit * parent ) + + + currentBlockState + currentBlockState + () + + + currentBlockUserData + currentBlockUserData + () + + + document + document + () + + + format + format + ( int position ) + + + highlightBlock + highlightBlock + ( const QString & text ) + + + previousBlockState + previousBlockState + () + + + rehighlight + rehighlight + () + + + setCurrentBlockState + setCurrentBlockState + ( int newState ) + + + setCurrentBlockUserData + setCurrentBlockUserData + ( QTextBlockUserData * data ) + + + setDocument + setDocument + ( QTextDocument * doc ) + + + setFormat + setFormat + ( int start, int count, const QTextCharFormat & format ) + + + setFormat + setFormat-2 + ( int start, int count, const QColor & color ) + + + setFormat + setFormat-3 + ( int start, int count, const QFont & font ) + + + + QSysInfo + qsysinfo.html + + Endian + Endian-enum + + + + MacVersion + MacVersion-enum + + + + Sizes + Sizes-enum + + + + WinVersion + WinVersion-enum + + + + MacintoshVersion + MacintoshVersion-var + + + + WindowsVersion + WindowsVersion-var + + + + + QSystemLocale + qsystemlocale.html + + QueryType + QueryType-enum + + + + QSystemLocale + QSystemLocale + () + + + fallbackLocale + fallbackLocale + () + + + query + query + ( QueryType type, QVariant in ) + + + + QSystemTrayIcon + qsystemtrayicon.html + + ActivationReason + ActivationReason-enum + + + + MessageIcon + MessageIcon-enum + + + + QSystemTrayIcon + QSystemTrayIcon + ( QObject * parent = 0 ) + + + QSystemTrayIcon + QSystemTrayIcon-2 + ( const QIcon & icon, QObject * parent = 0 ) + + + activated + activated + ( QSystemTrayIcon::ActivationReason reason ) + + + contextMenu + contextMenu + () + + + geometry + geometry + () + + + hide + hide + () + + + isSystemTrayAvailable + isSystemTrayAvailable + () + + + messageClicked + messageClicked + () + + + setContextMenu + setContextMenu + ( QMenu * menu ) + + + show + show + () + + + showMessage + showMessage + ( const QString & title, const QString & message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000 ) + + + supportsMessages + supportsMessages + () + + + BackgroundMode + BackgroundMode-enum + + + + ButtonState + ButtonState-typedef + + + + ButtonState_enum + ButtonState_enum-enum + + + + GUIStyle + GUIStyle-enum + + + + MacintoshVersion + MacintoshVersion-enum + + + + PaintUnit + PaintUnit-enum + + + + ScaleMode + ScaleMode-typedef + + + + TextFlags + TextFlags-typedef + + + + ToolBarDock + ToolBarDock-typedef + + + + WindowsVersion + WindowsVersion-enum + + + + AnchorAttribute + AnchorAttribute-enum + + + + ApplicationAttribute + ApplicationAttribute-enum + + + + ArrowType + ArrowType-enum + + + + AspectRatioMode + AspectRatioMode-enum + + + + Axis + Axis-enum + + + + BGMode + BGMode-enum + + + + BrushStyle + BrushStyle-enum + + + + CaseSensitivity + CaseSensitivity-enum + + + + CheckState + CheckState-enum + + + + ClipOperation + ClipOperation-enum + + + + ConnectionType + ConnectionType-enum + + + + ContextMenuPolicy + ContextMenuPolicy-enum + + + + Corner + Corner-enum + + + + CursorShape + CursorShape-enum + + + + DateFormat + DateFormat-enum + + + + DayOfWeek + DayOfWeek-enum + + + + Dock + Dock-enum + + + + EventPriority + EventPriority-enum + + + + FillRule + FillRule-enum + + + + FocusPolicy + FocusPolicy-enum + + + + FocusReason + FocusReason-enum + + + + GlobalColor + GlobalColor-enum + + + + HANDLE + HANDLE-typedef + + + + HitTestAccuracy + HitTestAccuracy-enum + + + + InputMethodQuery + InputMethodQuery-enum + + + + ItemDataRole + ItemDataRole-enum + + + + ItemSelectionMode + ItemSelectionMode-enum + + + + Key + Key-enum + + + + LayoutDirection + LayoutDirection-enum + + + + MaskMode + MaskMode-enum + + + + Modifier + Modifier-enum + + + + PenCapStyle + PenCapStyle-enum + + + + PenJoinStyle + PenJoinStyle-enum + + + + PenStyle + PenStyle-enum + + + + ScrollBarPolicy + ScrollBarPolicy-enum + + + + ShortcutContext + ShortcutContext-enum + + + + SortOrder + SortOrder-enum + + + + TextElideMode + TextElideMode-enum + + + + TextFlag + TextFlag-enum + + + + TextFormat + TextFormat-enum + + + + TimeSpec + TimeSpec-enum + + + + ToolButtonStyle + ToolButtonStyle-enum + + + + TransformationMode + TransformationMode-enum + + + + UIEffect + UIEffect-enum + + + + WFlags + WFlags-typedef + + + + WhiteSpaceMode + WhiteSpaceMode-enum + + + + WidgetAttribute + WidgetAttribute-enum + + + + WindowModality + WindowModality-enum + + + + convertFromPlainText + convertFromPlainText + ( const QString & plain, WhiteSpaceMode mode = WhiteSpacePre ) + + + escape + escape + ( const QString & plain ) + + + mightBeRichText + mightBeRichText + ( const QString & text ) + + + BackgroundMode + BackgroundMode-enum + + + + ButtonState + ButtonState-typedef + + + + ButtonState_enum + ButtonState_enum-enum + + + + GUIStyle + GUIStyle-enum + + + + MacintoshVersion + MacintoshVersion-enum + + + + PaintUnit + PaintUnit-enum + + + + ScaleMode + ScaleMode-typedef + + + + TextFlags + TextFlags-typedef + + + + ToolBarDock + ToolBarDock-typedef + + + + WindowsVersion + WindowsVersion-enum + + + + selected + selected + ( int index ) + + + setCurrentTab + setCurrentTab + ( int index ) + + + + QTabBar + qtabbar.html + + Shape + Shape-enum + + + + TextElideMode + elideMode-prop + + + + QTabBar + QTabBar + ( QWidget * parent = 0 ) + + + addTab + addTab + ( const QString & text ) + + + addTab + addTab-2 + ( const QIcon & icon, const QString & text ) + + + currentChanged + currentChanged + ( int index ) + + + initStyleOption + initStyleOption + ( QStyleOptionTab * option, int tabIndex ) + + + insertTab + insertTab + ( int index, const QString & text ) + + + insertTab + insertTab-2 + ( int index, const QIcon & icon, const QString & text ) + + + isTabEnabled + isTabEnabled + ( int index ) + + + removeTab + removeTab + ( int index ) + + + setTabData + setTabData + ( int index, const QVariant & data ) + + + setTabEnabled + setTabEnabled + ( int index, bool enabled ) + + + setTabIcon + setTabIcon + ( int index, const QIcon & icon ) + + + setTabText + setTabText + ( int index, const QString & text ) + + + setTabTextColor + setTabTextColor + ( int index, const QColor & color ) + + + setTabToolTip + setTabToolTip + ( int index, const QString & tip ) + + + setTabWhatsThis + setTabWhatsThis + ( int index, const QString & text ) + + + tabAt + tabAt + ( const QPoint & position ) + + + tabData + tabData + ( int index ) + + + tabIcon + tabIcon + ( int index ) + + + tabInserted + tabInserted + ( int index ) + + + tabLayoutChange + tabLayoutChange + () + + + tabRect + tabRect + ( int index ) + + + tabRemoved + tabRemoved + ( int index ) + + + tabSizeHint + tabSizeHint + ( int index ) + + + tabText + tabText + ( int index ) + + + tabTextColor + tabTextColor + ( int index ) + + + tabToolTip + tabToolTip + ( int index ) + + + tabWhatsThis + tabWhatsThis + ( int index ) + + + selected + selected + ( int index ) + + + setCurrentTab + setCurrentTab + ( int index ) + + + + QTabletEvent + qtabletevent.html + + PointerType + PointerType-enum + + + + TabletDevice + TabletDevice-enum + + + + QTabletEvent + QTabletEvent + ( Type type, const QPoint & pos, const QPoint & globalPos, const QPointF & hiResGlobalPos, int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID ) + + + device + device + () + + + globalPos + globalPos + () + + + globalX + globalX + () + + + globalY + globalY + () + + + hiResGlobalPos + hiResGlobalPos + () + + + hiResGlobalX + hiResGlobalX + () + + + hiResGlobalY + hiResGlobalY + () + + + pointerType + pointerType + () + + + pos + pos + () + + + pressure + pressure + () + + + rotation + rotation + () + + + tangentialPressure + tangentialPressure + () + + + uniqueId + uniqueId + () + + + x + x + () + + + xTilt + xTilt + () + + + y + y + () + + + yTilt + yTilt + () + + + z + z + () + + + sortByColumn + sortByColumn-2 + ( int column ) + + + + QTableView + qtableview.html + + PenStyle + gridStyle-prop + + + + QTableView + QTableView + ( QWidget * parent = 0 ) + + + columnAt + columnAt + ( int x ) + + + columnCountChanged + columnCountChanged + ( int oldCount, int newCount ) + + + columnMoved + columnMoved + ( int column, int oldIndex, int newIndex ) + + + columnResized + columnResized + ( int column, int oldWidth, int newWidth ) + + + columnSpan + columnSpan + ( int row, int column ) + + + columnViewportPosition + columnViewportPosition + ( int column ) + + + columnWidth + columnWidth + ( int column ) + + + currentChanged + currentChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + hideColumn + hideColumn + ( int column ) + + + hideRow + hideRow + ( int row ) + + + horizontalHeader + horizontalHeader + () + + + horizontalOffset + horizontalOffset + () + + + indexAt + indexAt + ( const QPoint & pos ) + + + isColumnHidden + isColumnHidden + ( int column ) + + + isRowHidden + isRowHidden + ( int row ) + + + moveCursor + moveCursor + ( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + resizeColumnToContents + resizeColumnToContents + ( int column ) + + + resizeColumnsToContents + resizeColumnsToContents + () + + + resizeRowToContents + resizeRowToContents + ( int row ) + + + resizeRowsToContents + resizeRowsToContents + () + + + rowAt + rowAt + ( int y ) + + + rowCountChanged + rowCountChanged + ( int oldCount, int newCount ) + + + rowHeight + rowHeight + ( int row ) + + + rowMoved + rowMoved + ( int row, int oldIndex, int newIndex ) + + + rowResized + rowResized + ( int row, int oldHeight, int newHeight ) + + + rowSpan + rowSpan + ( int row, int column ) + + + rowViewportPosition + rowViewportPosition + ( int row ) + + + selectColumn + selectColumn + ( int column ) + + + selectRow + selectRow + ( int row ) + + + selectionChanged + selectionChanged + ( const QItemSelection & selected, const QItemSelection & deselected ) + + + setColumnHidden + setColumnHidden + ( int column, bool hide ) + + + setColumnWidth + setColumnWidth + ( int column, int width ) + + + setHorizontalHeader + setHorizontalHeader + ( QHeaderView * header ) + + + setRowHeight + setRowHeight + ( int row, int height ) + + + setRowHidden + setRowHidden + ( int row, bool hide ) + + + setSelection + setSelection + ( const QRect & rect, QItemSelectionModel::SelectionFlags flags ) + + + setSpan + setSpan + ( int row, int column, int rowSpan, int columnSpan ) + + + setVerticalHeader + setVerticalHeader + ( QHeaderView * header ) + + + showColumn + showColumn + ( int column ) + + + showRow + showRow + ( int row ) + + + sizeHintForColumn + sizeHintForColumn + ( int column ) + + + sizeHintForRow + sizeHintForRow + ( int row ) + + + sortByColumn + sortByColumn + ( int column, Qt::SortOrder order ) + + + verticalHeader + verticalHeader + () + + + verticalOffset + verticalOffset + () + + + isItemSelected + isItemSelected + ( const QTableWidgetItem * item ) + + + setItemSelected + setItemSelected + ( const QTableWidgetItem * item, bool select ) + + + + QTableWidget + qtablewidget.html + + QTableWidget + QTableWidget + ( QWidget * parent = 0 ) + + + QTableWidget + QTableWidget-2 + ( int rows, int columns, QWidget * parent = 0 ) + + + cellActivated + cellActivated + ( int row, int column ) + + + cellChanged + cellChanged + ( int row, int column ) + + + cellClicked + cellClicked + ( int row, int column ) + + + cellDoubleClicked + cellDoubleClicked + ( int row, int column ) + + + cellEntered + cellEntered + ( int row, int column ) + + + cellPressed + cellPressed + ( int row, int column ) + + + cellWidget + cellWidget + ( int row, int column ) + + + clear + clear + () + + + clearContents + clearContents + () + + + closePersistentEditor + closePersistentEditor + ( QTableWidgetItem * item ) + + + column + column + ( const QTableWidgetItem * item ) + + + currentCellChanged + currentCellChanged + ( int currentRow, int currentColumn, int previousRow, int previousColumn ) + + + currentColumn + currentColumn + () + + + currentItem + currentItem + () + + + currentItemChanged + currentItemChanged + ( QTableWidgetItem * current, QTableWidgetItem * previous ) + + + currentRow + currentRow + () + + + dropMimeData + dropMimeData + ( int row, int column, const QMimeData * data, Qt::DropAction action ) + + + editItem + editItem + ( QTableWidgetItem * item ) + + + findItems + findItems + ( const QString & text, Qt::MatchFlags flags ) + + + horizontalHeaderItem + horizontalHeaderItem + ( int column ) + + + indexFromItem + indexFromItem + ( QTableWidgetItem * item ) + + + insertColumn + insertColumn + ( int column ) + + + insertRow + insertRow + ( int row ) + + + item + item + ( int row, int column ) + + + itemActivated + itemActivated + ( QTableWidgetItem * item ) + + + itemAt + itemAt + ( const QPoint & point ) + + + itemAt + itemAt-2 + ( int ax, int ay ) + + + itemChanged + itemChanged + ( QTableWidgetItem * item ) + + + itemClicked + itemClicked + ( QTableWidgetItem * item ) + + + itemDoubleClicked + itemDoubleClicked + ( QTableWidgetItem * item ) + + + itemEntered + itemEntered + ( QTableWidgetItem * item ) + + + itemFromIndex + itemFromIndex + ( const QModelIndex & index ) + + + itemPressed + itemPressed + ( QTableWidgetItem * item ) + + + itemPrototype + itemPrototype + () + + + itemSelectionChanged + itemSelectionChanged + () + + + items + items + ( const QMimeData * data ) + + + mimeData + mimeData + ( const QList<QTableWidgetItem *> items ) + + + mimeTypes + mimeTypes + () + + + openPersistentEditor + openPersistentEditor + ( QTableWidgetItem * item ) + + + removeCellWidget + removeCellWidget + ( int row, int column ) + + + removeColumn + removeColumn + ( int column ) + + + removeRow + removeRow + ( int row ) + + + row + row + ( const QTableWidgetItem * item ) + + + scrollToItem + scrollToItem + ( const QTableWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible ) + + + selectedItems + selectedItems + () + + + selectedRanges + selectedRanges + () + + + setCellWidget + setCellWidget + ( int row, int column, QWidget * widget ) + + + setCurrentCell + setCurrentCell + ( int row, int column ) + + + setCurrentItem + setCurrentItem + ( QTableWidgetItem * item ) + + + setHorizontalHeaderItem + setHorizontalHeaderItem + ( int column, QTableWidgetItem * item ) + + + setHorizontalHeaderLabels + setHorizontalHeaderLabels + ( const QStringList & labels ) + + + setItem + setItem + ( int row, int column, QTableWidgetItem * item ) + + + setItemPrototype + setItemPrototype + ( const QTableWidgetItem * item ) + + + setRangeSelected + setRangeSelected + ( const QTableWidgetSelectionRange & range, bool select ) + + + setVerticalHeaderItem + setVerticalHeaderItem + ( int row, QTableWidgetItem * item ) + + + setVerticalHeaderLabels + setVerticalHeaderLabels + ( const QStringList & labels ) + + + sortItems + sortItems + ( int column, Qt::SortOrder order = Qt::AscendingOrder ) + + + DropActions + supportedDropActions + QTableWidget::supportedDropActions() + + + takeHorizontalHeaderItem + takeHorizontalHeaderItem + ( int column ) + + + takeItem + takeItem + ( int row, int column ) + + + takeVerticalHeaderItem + takeVerticalHeaderItem + ( int row ) + + + verticalHeaderItem + verticalHeaderItem + ( int row ) + + + visualColumn + visualColumn + ( int logicalColumn ) + + + visualItemRect + visualItemRect + ( const QTableWidgetItem * item ) + + + visualRow + visualRow + ( int logicalRow ) + + + backgroundColor + backgroundColor + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setTextColor + setTextColor + ( const QColor & color ) + + + textColor + textColor + () + + + + QTableWidgetItem + qtablewidgetitem.html + + ItemType + ItemType-enum + + + + QTableWidgetItem + QTableWidgetItem + ( int type = Type ) + + + QTableWidgetItem + QTableWidgetItem-2 + ( const QString & text, int type = Type ) + + + QTableWidgetItem + QTableWidgetItem-3 + ( const QIcon & icon, const QString & text, int type = Type ) + + + QTableWidgetItem + QTableWidgetItem-4 + ( const QTableWidgetItem & other ) + + + background + background + () + + + CheckState + checkState + QTableWidgetItem::checkState() + + + clone + clone + () + + + column + column + () + + + data + data + ( int role ) + + + ItemFlags + flags + QTableWidgetItem::flags() + + + font + font + () + + + foreground + foreground + () + + + icon + icon + () + + + isSelected + isSelected + () + + + read + read + ( QDataStream & in ) + + + row + row + () + + + setBackground + setBackground + ( const QBrush & brush ) + + + setCheckState + setCheckState + ( Qt::CheckState state ) + + + setData + setData + ( int role, const QVariant & value ) + + + setFlags + setFlags + ( Qt::ItemFlags flags ) + + + setFont + setFont + ( const QFont & font ) + + + setForeground + setForeground + ( const QBrush & brush ) + + + setIcon + setIcon + ( const QIcon & icon ) + + + setSelected + setSelected + ( bool select ) + + + setSizeHint + setSizeHint + ( const QSize & size ) + + + setStatusTip + setStatusTip + ( const QString & statusTip ) + + + setText + setText + ( const QString & text ) + + + setTextAlignment + setTextAlignment + ( int alignment ) + + + setToolTip + setToolTip + ( const QString & toolTip ) + + + setWhatsThis + setWhatsThis + ( const QString & whatsThis ) + + + sizeHint + sizeHint + () + + + statusTip + statusTip + () + + + tableWidget + tableWidget + () + + + text + text + () + + + textAlignment + textAlignment + () + + + toolTip + toolTip + () + + + type + type + () + + + whatsThis + whatsThis + () + + + write + write + ( QDataStream & out ) + + + operator< + operator-lt + ( const QTableWidgetItem & other ) + + + operator= + operator-eq + ( const QTableWidgetItem & other ) + + + + QTableWidgetSelectionRange + qtablewidgetselectionrange.html + + QTableWidgetSelectionRange + QTableWidgetSelectionRange + () + + + QTableWidgetSelectionRange + QTableWidgetSelectionRange-2 + ( int top, int left, int bottom, int right ) + + + QTableWidgetSelectionRange + QTableWidgetSelectionRange-3 + ( const QTableWidgetSelectionRange & other ) + + + bottomRow + bottomRow + () + + + columnCount + columnCount + () + + + leftColumn + leftColumn + () + + + rightColumn + rightColumn + () + + + rowCount + rowCount + () + + + topRow + topRow + () + + + QTabWidget + QTabWidget-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + changeTab + changeTab + ( QWidget * widget, const QString & label ) + + + changeTab + changeTab-2 + ( QWidget * widget, const QIcon & icon, const QString & label ) + + + currentChanged + currentChanged-2 + ( QWidget * widget ) + + + currentPage + currentPage + () + + + currentPageIndex + currentPageIndex + () + + + insertTab + insertTab-2 + ( QWidget * widget, const QString & label, int index = -1 ) + + + insertTab + insertTab-3 + ( QWidget * widget, const QIcon & icon, const QString & label, int index = -1 ) + + + isTabEnabled + isTabEnabled-2 + ( QWidget * widget ) + + + label + label + ( int index ) + + + margin + margin + () + + + page + page + ( int index ) + + + removePage + removePage + ( QWidget * widget ) + + + removeTabToolTip + removeTabToolTip + ( QWidget * widget ) + + + selected + selected + ( const QString & tabLabel ) + + + setCurrentPage + setCurrentPage + ( int index ) + + + setMargin + setMargin + ( int margin ) + + + setTabEnabled + setTabEnabled-2 + ( QWidget * widget, bool b ) + + + setTabIconSet + setTabIconSet + ( QWidget * widget, const QIcon & icon ) + + + setTabLabel + setTabLabel + ( QWidget * widget, const QString & label ) + + + setTabToolTip + setTabToolTip-2 + ( QWidget * widget, const QString & tip ) + + + showPage + showPage + ( QWidget * widget ) + + + tabIconSet + tabIconSet + ( QWidget * widget ) + + + tabLabel + tabLabel + ( QWidget * widget ) + + + tabToolTip + tabToolTip-2 + ( QWidget * widget ) + + + + QTabWidget + qtabwidget.html + + TabPosition + TabPosition-enum + + + + TabShape + TabShape-enum + + + + TextElideMode + elideMode-prop + + + + QTabWidget + QTabWidget + ( QWidget * parent = 0 ) + + + addTab + addTab + ( QWidget * child, const QString & label ) + + + addTab + addTab-2 + ( QWidget * child, const QIcon & icon, const QString & label ) + + + clear + clear + () + + + cornerWidget + cornerWidget + ( Qt::Corner corner = Qt::TopRightCorner ) + + + currentChanged + currentChanged + ( int index ) + + + currentWidget + currentWidget + () + + + indexOf + indexOf + ( QWidget * w ) + + + initStyleOption + initStyleOption + ( QStyleOptionTabWidgetFrame * option ) + + + insertTab + insertTab + ( int index, QWidget * widget, const QString & label ) + + + insertTab + insertTab-4 + ( int index, QWidget * widget, const QIcon & icon, const QString & label ) + + + isTabEnabled + isTabEnabled + ( int index ) + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + removeTab + removeTab + ( int index ) + + + setCornerWidget + setCornerWidget + ( QWidget * widget, Qt::Corner corner = Qt::TopRightCorner ) + + + setCurrentWidget + setCurrentWidget + ( QWidget * widget ) + + + setTabBar + setTabBar + ( QTabBar * tb ) + + + setTabEnabled + setTabEnabled + ( int index, bool enable ) + + + setTabIcon + setTabIcon + ( int index, const QIcon & icon ) + + + setTabText + setTabText + ( int index, const QString & label ) + + + setTabToolTip + setTabToolTip + ( int index, const QString & tip ) + + + setTabWhatsThis + setTabWhatsThis + ( int index, const QString & text ) + + + tabBar + tabBar + () + + + tabIcon + tabIcon + ( int index ) + + + tabInserted + tabInserted + ( int index ) + + + tabRemoved + tabRemoved + ( int index ) + + + tabText + tabText + ( int index ) + + + tabToolTip + tabToolTip + ( int index ) + + + tabWhatsThis + tabWhatsThis + ( int index ) + + + widget + widget + ( int index ) + + + QTabWidget + QTabWidget-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + changeTab + changeTab + ( QWidget * widget, const QString & label ) + + + changeTab + changeTab-2 + ( QWidget * widget, const QIcon & icon, const QString & label ) + + + currentChanged + currentChanged-2 + ( QWidget * widget ) + + + currentPage + currentPage + () + + + currentPageIndex + currentPageIndex + () + + + insertTab + insertTab-2 + ( QWidget * widget, const QString & label, int index = -1 ) + + + insertTab + insertTab-3 + ( QWidget * widget, const QIcon & icon, const QString & label, int index = -1 ) + + + isTabEnabled + isTabEnabled-2 + ( QWidget * widget ) + + + label + label + ( int index ) + + + margin + margin + () + + + page + page + ( int index ) + + + removePage + removePage + ( QWidget * widget ) + + + removeTabToolTip + removeTabToolTip + ( QWidget * widget ) + + + selected + selected + ( const QString & tabLabel ) + + + setCurrentPage + setCurrentPage + ( int index ) + + + setMargin + setMargin + ( int margin ) + + + setTabEnabled + setTabEnabled-2 + ( QWidget * widget, bool b ) + + + setTabIconSet + setTabIconSet + ( QWidget * widget, const QIcon & icon ) + + + setTabLabel + setTabLabel + ( QWidget * widget, const QString & label ) + + + setTabToolTip + setTabToolTip-2 + ( QWidget * widget, const QString & tip ) + + + showPage + showPage + ( QWidget * widget ) + + + tabIconSet + tabIconSet + ( QWidget * widget ) + + + tabLabel + tabLabel + ( QWidget * widget ) + + + tabToolTip + tabToolTip-2 + ( QWidget * widget ) + + + const_iterator + qBinaryFind-3 + qBinaryFind( const Container & container, const T & value ) + + + const_iterator + qFind-2 + qFind( const Container & container, const T & value ) + + + const_iterator + qLowerBound-3 + qLowerBound( const Container & container, const T & value ) + + + const_iterator + qUpperBound-3 + qUpperBound( const Container & container, const T & value ) + + + + QTcpServer + qtcpserver.html + + QTcpServer + QTcpServer + ( QObject * parent = 0 ) + + + close + close + () + + + errorString + errorString + () + + + hasPendingConnections + hasPendingConnections + () + + + incomingConnection + incomingConnection + ( int socketDescriptor ) + + + isListening + isListening + () + + + listen + listen + ( const QHostAddress & address = QHostAddress::Any, quint16 port = 0 ) + + + maxPendingConnections + maxPendingConnections + () + + + newConnection + newConnection + () + + + nextPendingConnection + nextPendingConnection + () + + + proxy + proxy + () + + + serverAddress + serverAddress + () + + + SocketError + serverError + QTcpServer::serverError() + + + serverPort + serverPort + () + + + setMaxPendingConnections + setMaxPendingConnections + ( int numConnections ) + + + setProxy + setProxy + ( const QNetworkProxy & networkProxy ) + + + setSocketDescriptor + setSocketDescriptor + ( int socketDescriptor ) + + + socketDescriptor + socketDescriptor + () + + + waitForNewConnection + waitForNewConnection + ( int msec = 0, bool * timedOut = 0 ) + + + + QTcpSocket + qtcpsocket.html + + QTcpSocket + QTcpSocket + ( QObject * parent = 0 ) + + + + QTemporaryFile + qtemporaryfile.html + + QTemporaryFile + QTemporaryFile + () + + + QTemporaryFile + QTemporaryFile-2 + ( const QString & templateName ) + + + QTemporaryFile + QTemporaryFile-3 + ( QObject * parent ) + + + QTemporaryFile + QTemporaryFile-4 + ( const QString & templateName, QObject * parent ) + + + autoRemove + autoRemove + () + + + createLocalFile + createLocalFile + ( QFile & file ) + + + createLocalFile + createLocalFile-2 + ( const QString & fileName ) + + + fileName + fileName + () + + + fileTemplate + fileTemplate + () + + + open + open + () + + + setAutoRemove + setAutoRemove + ( bool b ) + + + setFileTemplate + setFileTemplate + ( const QString & name ) + + + KeyAction + KeyAction-enum + + + + MouseAction + MouseAction-enum + + + + SkipMode + SkipMode-enum + + + + TestFailMode + TestFailMode-enum + + + + addColumn + addColumn + ( const char * name, T * dummy = 0 ) + + + currentDataTag + currentDataTag + () + + + currentTestFailed + currentTestFailed + () + + + currentTestFunction + currentTestFunction + () + + + ignoreMessage + ignoreMessage + ( QtMsgType type, const char * message ) + + + keyClick + keyClick + ( QWidget * widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyClick + keyClick-2 + ( QWidget * widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyClicks + keyClicks + ( QWidget * widget, const QString & sequence, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyEvent + keyEvent + ( KeyAction action, QWidget * widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyEvent + keyEvent-2 + ( KeyAction action, QWidget * widget, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyPress + keyPress + ( QWidget * widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyPress + keyPress-2 + ( QWidget * widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyRelease + keyRelease + ( QWidget * widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + keyRelease + keyRelease-2 + ( QWidget * widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) + + + mouseClick + mouseClick + ( QWidget * widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint() + + + mouseDClick + mouseDClick + ( QWidget * widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint() + + + mouseMove + mouseMove + ( QWidget * widget, QPoint pos = QPoint() + + + mousePress + mousePress + ( QWidget * widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint() + + + mouseRelease + mouseRelease + ( QWidget * widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint() + + + newRow + newRow + ( const char * dataTag ) + + + qExec + qExec + ( QObject * testObject, int argc = 0, char ** argv = 0 ) + + + qSleep + qSleep + ( int ms ) + + + qWait + qWait + ( int ms ) + + + toHexRepresentation + toHexRepresentation + ( const char * ba, int length ) + + + toString + toString + ( const QByteArray & ba ) + + + toString + toString-2 + ( const T & value ) + + + toString + toString-5 + ( const QLatin1String & string ) + + + toString + toString-6 + ( const QString & string ) + + + toString + toString-7 + ( const QTime & time ) + + + toString + toString-8 + ( const QDate & date ) + + + toString + toString-9 + ( const QDateTime & dateTime ) + + + toString + toString-10 + ( const QChar & character ) + + + toString + toString-11 + ( const QPoint & point ) + + + toString + toString-12 + ( const QSize & size ) + + + toString + toString-13 + ( const QRect & rectangle ) + + + toString + toString-14 + ( const QPointF & point ) + + + toString + toString-15 + ( const QSizeF & size ) + + + toString + toString-16 + ( const QRectF & rectangle ) + + + + QTestEventList + qtesteventlist.html + + QTestEventList + QTestEventList + () + + + QTestEventList + QTestEventList-2 + ( const QTestEventList & other ) + + + addDelay + addDelay + ( int msecs ) + + + addKeyClick + addKeyClick + ( Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyClick + addKeyClick-2 + ( char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyClicks + addKeyClicks + ( const QString & keys, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyPress + addKeyPress + ( Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyPress + addKeyPress-2 + ( char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyRelease + addKeyRelease + ( Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addKeyRelease + addKeyRelease-2 + ( char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1 ) + + + addMouseClick + addMouseClick + ( Qt::MouseButton button, Qt::KeyboardModifiers modifiers = 0, QPoint pos = QPoint() + + + addMouseDClick + addMouseDClick + ( Qt::MouseButton button, Qt::KeyboardModifiers modifiers = 0, QPoint pos = QPoint() + + + addMouseMove + addMouseMove + ( QPoint pos = QPoint() + + + addMousePress + addMousePress + ( Qt::MouseButton button, Qt::KeyboardModifiers modifiers = 0, QPoint pos = QPoint() + + + addMouseRelease + addMouseRelease + ( Qt::MouseButton button, Qt::KeyboardModifiers modifiers = 0, QPoint pos = QPoint() + + + clear + clear + () + + + simulate + simulate + ( QWidget * w ) + + + + QTextBlock::iterator + qtextblock-iterator.html + + iterator + iterator + () + + + iterator + iterator-3 + ( const iterator & other ) + + + atEnd + atEnd + () + + + fragment + fragment + () + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator== + operator-eq-eq + ( const iterator & other ) + + + + QTextBlock + qtextblock.html + + Iterator + Iterator-typedef + + + + QTextBlock + QTextBlock + ( const QTextBlock & other ) + + + begin + begin + () + + + blockFormat + blockFormat + () + + + blockFormatIndex + blockFormatIndex + () + + + charFormat + charFormat + () + + + charFormatIndex + charFormatIndex + () + + + contains + contains + ( int position ) + + + document + document + () + + + end + end + () + + + isValid + isValid + () + + + layout + layout + () + + + length + length + () + + + next + next + () + + + position + position + () + + + previous + previous + () + + + setUserData + setUserData + ( QTextBlockUserData * data ) + + + setUserState + setUserState + ( int state ) + + + text + text + () + + + textList + textList + () + + + userData + userData + () + + + userState + userState + () + + + operator!= + operator-not-eq + ( const QTextBlock & other ) + + + operator< + operator-lt + ( const QTextBlock & other ) + + + operator= + operator-eq + ( const QTextBlock & other ) + + + operator== + operator-eq-eq + ( const QTextBlock & other ) + + + + QTextBlockFormat + qtextblockformat.html + + QTextBlockFormat + QTextBlockFormat + () + + + Alignment + alignment + QTextBlockFormat::alignment() + + + bottomMargin + bottomMargin + () + + + indent + indent + () + + + isValid + isValid + () + + + leftMargin + leftMargin + () + + + nonBreakableLines + nonBreakableLines + () + + + pageBreakPolicy + pageBreakPolicy + () + + + rightMargin + rightMargin + () + + + setAlignment + setAlignment + ( Qt::Alignment alignment ) + + + setBottomMargin + setBottomMargin + ( qreal margin ) + + + setIndent + setIndent + ( int indentation ) + + + setLeftMargin + setLeftMargin + ( qreal margin ) + + + setNonBreakableLines + setNonBreakableLines + ( bool b ) + + + setPageBreakPolicy + setPageBreakPolicy + ( PageBreakFlags policy ) + + + setRightMargin + setRightMargin + ( qreal margin ) + + + setTextIndent + setTextIndent + ( qreal indent ) + + + setTopMargin + setTopMargin + ( qreal margin ) + + + textIndent + textIndent + () + + + topMargin + topMargin + () + + + + QTextBlockGroup + qtextblockgroup.html + + QTextBlockGroup + QTextBlockGroup + ( QTextDocument * document ) + + + blockFormatChanged + blockFormatChanged + ( const QTextBlock & block ) + + + blockInserted + blockInserted + ( const QTextBlock & block ) + + + blockList + blockList + () + + + blockRemoved + blockRemoved + ( const QTextBlock & block ) + + + + QTextBlockUserData + qtextblockuserdata.html + + QTextBrowser + QTextBrowser-2 + ( QWidget * parent, const char * name ) + + + + QTextBrowser + qtextbrowser.html + + QTextBrowser + QTextBrowser + ( QWidget * parent = 0 ) + + + anchorClicked + anchorClicked + ( const QUrl & link ) + + + backward + backward + () + + + backwardAvailable + backwardAvailable + ( bool available ) + + + clearHistory + clearHistory + () + + + forward + forward + () + + + forwardAvailable + forwardAvailable + ( bool available ) + + + highlighted + highlighted + ( const QUrl & link ) + + + highlighted + highlighted-2 + ( const QString & link ) + + + home + home + () + + + isBackwardAvailable + isBackwardAvailable + () + + + isForwardAvailable + isForwardAvailable + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * ev ) + + + loadResource + loadResource + ( int type, const QUrl & name ) + + + reload + reload + () + + + sourceChanged + sourceChanged + ( const QUrl & src ) + + + QTextBrowser + QTextBrowser-2 + ( QWidget * parent, const char * name ) + + + anchorName + anchorName + () + + + setAnchorName + setAnchorName + ( const QString & name ) + + + + QTextCharFormat + qtextcharformat.html + + UnderlineStyle + UnderlineStyle-enum + + + + VerticalAlignment + VerticalAlignment-enum + + + + QTextCharFormat + QTextCharFormat + () + + + anchorHref + anchorHref + () + + + anchorNames + anchorNames + () + + + font + font + () + + + fontFamily + fontFamily + () + + + fontFixedPitch + fontFixedPitch + () + + + fontItalic + fontItalic + () + + + fontOverline + fontOverline + () + + + fontPointSize + fontPointSize + () + + + fontStrikeOut + fontStrikeOut + () + + + fontUnderline + fontUnderline + () + + + fontWeight + fontWeight + () + + + isAnchor + isAnchor + () + + + isValid + isValid + () + + + setAnchor + setAnchor + ( bool anchor ) + + + setAnchorHref + setAnchorHref + ( const QString & value ) + + + setAnchorNames + setAnchorNames + ( const QStringList & names ) + + + setFont + setFont + ( const QFont & font ) + + + setFontFamily + setFontFamily + ( const QString & family ) + + + setFontFixedPitch + setFontFixedPitch + ( bool fixedPitch ) + + + setFontItalic + setFontItalic + ( bool italic ) + + + setFontOverline + setFontOverline + ( bool overline ) + + + setFontPointSize + setFontPointSize + ( qreal size ) + + + setFontStrikeOut + setFontStrikeOut + ( bool strikeOut ) + + + setFontUnderline + setFontUnderline + ( bool underline ) + + + setFontWeight + setFontWeight + ( int weight ) + + + setTextOutline + setTextOutline + ( const QPen & pen ) + + + setToolTip + setToolTip + ( const QString & text ) + + + setUnderlineColor + setUnderlineColor + ( const QColor & color ) + + + setUnderlineStyle + setUnderlineStyle + ( UnderlineStyle style ) + + + setVerticalAlignment + setVerticalAlignment + ( VerticalAlignment alignment ) + + + textOutline + textOutline + () + + + toolTip + toolTip + () + + + underlineColor + underlineColor + () + + + underlineStyle + underlineStyle + () + + + verticalAlignment + verticalAlignment + () + + + + QTextCodec::ConverterState + qtextcodec-converterstate.html + + ConverterState + ConverterState + ( ConversionFlags flags = DefaultConversion ) + + + codecForContent + codecForContent + ( const char * str, int size ) + + + codecForIndex + codecForIndex + ( int i ) + + + codecForName + codecForName-3 + ( const char * hint, int accuracy ) + + + fromUnicode + fromUnicode-3 + ( const QString & uc, int & lenInOut ) + + + locale + locale + () + + + mimeName + mimeName + () + + + toUnicode + toUnicode-3 + ( const QByteArray & a, int len ) + + + + QTextCodec + qtextcodec.html + + QTextCodec + QTextCodec + () + + + aliases + aliases + () + + + availableCodecs + availableCodecs + () + + + availableMibs + availableMibs + () + + + canEncode + canEncode + ( QChar ch ) + + + canEncode + canEncode-2 + ( const QString & s ) + + + codecForCStrings + codecForCStrings + () + + + codecForLocale + codecForLocale + () + + + codecForMib + codecForMib + ( int mib ) + + + codecForName + codecForName + ( const QByteArray & name ) + + + codecForName + codecForName-2 + ( const char * name ) + + + codecForTr + codecForTr + () + + + convertFromUnicode + convertFromUnicode + ( const QChar * input, int number, ConverterState * state ) + + + convertToUnicode + convertToUnicode + ( const char * chars, int len, ConverterState * state ) + + + fromUnicode + fromUnicode + ( const QString & str ) + + + fromUnicode + fromUnicode-2 + ( const QChar * input, int number, ConverterState * state = 0 ) + + + makeDecoder + makeDecoder + () + + + makeEncoder + makeEncoder + () + + + mibEnum + mibEnum + () + + + name + name + () + + + setCodecForCStrings + setCodecForCStrings + ( QTextCodec * codec ) + + + setCodecForLocale + setCodecForLocale + ( QTextCodec * c ) + + + setCodecForTr + setCodecForTr + ( QTextCodec * c ) + + + toUnicode + toUnicode + ( const QByteArray & a ) + + + toUnicode + toUnicode-2 + ( const char * input, int size, ConverterState * state = 0 ) + + + toUnicode + toUnicode-4 + ( const char * chars ) + + + codecForContent + codecForContent + ( const char * str, int size ) + + + codecForIndex + codecForIndex + ( int i ) + + + codecForName + codecForName-3 + ( const char * hint, int accuracy ) + + + fromUnicode + fromUnicode-3 + ( const QString & uc, int & lenInOut ) + + + locale + locale + () + + + mimeName + mimeName + () + + + toUnicode + toUnicode-3 + ( const QByteArray & a, int len ) + + + + QTextCodecPlugin + qtextcodecplugin.html + + QTextCodecPlugin + QTextCodecPlugin + ( QObject * parent = 0 ) + + + aliases + aliases + () + + + createForMib + createForMib + ( int mib ) + + + createForName + createForName + ( const QByteArray & name ) + + + mibEnums + mibEnums + () + + + names + names + () + + + + QTextCursor + qtextcursor.html + + MoveMode + MoveMode-enum + + + + MoveOperation + MoveOperation-enum + + + + SelectionType + SelectionType-enum + + + + QTextCursor + QTextCursor + () + + + QTextCursor + QTextCursor-2 + ( QTextDocument * document ) + + + QTextCursor + QTextCursor-4 + ( QTextFrame * frame ) + + + QTextCursor + QTextCursor-5 + ( const QTextBlock & block ) + + + QTextCursor + QTextCursor-7 + ( const QTextCursor & cursor ) + + + anchor + anchor + () + + + atBlockEnd + atBlockEnd + () + + + atBlockStart + atBlockStart + () + + + atEnd + atEnd + () + + + atStart + atStart + () + + + beginEditBlock + beginEditBlock + () + + + block + block + () + + + blockCharFormat + blockCharFormat + () + + + blockFormat + blockFormat + () + + + blockNumber + blockNumber + () + + + charFormat + charFormat + () + + + clearSelection + clearSelection + () + + + columnNumber + columnNumber + () + + + createList + createList + ( const QTextListFormat & format ) + + + createList + createList-2 + ( QTextListFormat::Style style ) + + + currentFrame + currentFrame + () + + + currentList + currentList + () + + + currentTable + currentTable + () + + + deleteChar + deleteChar + () + + + deletePreviousChar + deletePreviousChar + () + + + endEditBlock + endEditBlock + () + + + hasComplexSelection + hasComplexSelection + () + + + hasSelection + hasSelection + () + + + insertBlock + insertBlock + () + + + insertBlock + insertBlock-2 + ( const QTextBlockFormat & format ) + + + insertBlock + insertBlock-3 + ( const QTextBlockFormat & format, const QTextCharFormat & charFormat ) + + + insertFragment + insertFragment + ( const QTextDocumentFragment & fragment ) + + + insertFrame + insertFrame + ( const QTextFrameFormat & format ) + + + insertHtml + insertHtml + ( const QString & html ) + + + insertImage + insertImage + ( const QTextImageFormat & format ) + + + insertImage + insertImage-2 + ( const QTextImageFormat & format, QTextFrameFormat::Position alignment ) + + + insertImage + insertImage-3 + ( const QString & name ) + + + insertList + insertList + ( const QTextListFormat & format ) + + + insertList + insertList-2 + ( QTextListFormat::Style style ) + + + insertTable + insertTable + ( int rows, int columns, const QTextTableFormat & format ) + + + insertTable + insertTable-2 + ( int rows, int columns ) + + + insertText + insertText + ( const QString & text ) + + + insertText + insertText-2 + ( const QString & text, const QTextCharFormat & format ) + + + isCopyOf + isCopyOf + ( const QTextCursor & other ) + + + isNull + isNull + () + + + joinPreviousEditBlock + joinPreviousEditBlock + () + + + mergeBlockCharFormat + mergeBlockCharFormat + ( const QTextCharFormat & modifier ) + + + mergeBlockFormat + mergeBlockFormat + ( const QTextBlockFormat & modifier ) + + + mergeCharFormat + mergeCharFormat + ( const QTextCharFormat & modifier ) + + + movePosition + movePosition + ( MoveOperation operation, MoveMode mode = MoveAnchor, int n = 1 ) + + + position + position + () + + + removeSelectedText + removeSelectedText + () + + + select + select + ( SelectionType selection ) + + + selectedTableCells + selectedTableCells + ( int * firstRow, int * numRows, int * firstColumn, int * numColumns ) + + + selectedText + selectedText + () + + + selection + selection + () + + + selectionEnd + selectionEnd + () + + + selectionStart + selectionStart + () + + + setBlockCharFormat + setBlockCharFormat + ( const QTextCharFormat & format ) + + + setBlockFormat + setBlockFormat + ( const QTextBlockFormat & format ) + + + setCharFormat + setCharFormat + ( const QTextCharFormat & format ) + + + setPosition + setPosition + ( int pos, MoveMode m = MoveAnchor ) + + + operator!= + operator-not-eq + ( const QTextCursor & other ) + + + operator< + operator-lt + ( const QTextCursor & other ) + + + operator<= + operator-lt-eq + ( const QTextCursor & other ) + + + operator= + operator-eq + ( const QTextCursor & cursor ) + + + operator== + operator-eq-eq + ( const QTextCursor & other ) + + + operator> + operator-gt + ( const QTextCursor & other ) + + + operator>= + operator-gt-eq + ( const QTextCursor & other ) + + + + QTextDecoder + qtextdecoder.html + + QTextDecoder + QTextDecoder + ( const QTextCodec * codec ) + + + toUnicode + toUnicode + ( const char * chars, int len ) + + + toUnicode + toUnicode-2 + ( QString * target, const char * chars, int len ) + + + toUnicode + toUnicode-3 + ( const QByteArray & ba ) + + + + QTextDocument + qtextdocument.html + + MetaInformation + MetaInformation-enum + + + + ResourceType + ResourceType-enum + + + + QTextDocument + QTextDocument + ( QObject * parent = 0 ) + + + QTextDocument + QTextDocument-2 + ( const QString & text, QObject * parent = 0 ) + + + addResource + addResource + ( int type, const QUrl & name, const QVariant & resource ) + + + adjustSize + adjustSize + () + + + allFormats + allFormats + () + + + begin + begin + () + + + blockCountChanged + blockCountChanged + ( int newBlockCount ) + + + clear + clear + () + + + clone + clone + ( QObject * parent = 0 ) + + + contentsChange + contentsChange + ( int position, int charsRemoved, int charsAdded ) + + + contentsChanged + contentsChanged + () + + + createObject + createObject + ( const QTextFormat & format ) + + + cursorPositionChanged + cursorPositionChanged + ( const QTextCursor & cursor ) + + + documentLayout + documentLayout + () + + + drawContents + drawContents + ( QPainter * p, const QRectF & rect = QRectF() + + + end + end + () + + + find + find + ( const QString & subString, const QTextCursor & cursor, FindFlags options = 0 ) + + + find + find-2 + ( const QRegExp & expr, const QTextCursor & cursor, FindFlags options = 0 ) + + + find + find-3 + ( const QString & subString, int position = 0, FindFlags options = 0 ) + + + find + find-4 + ( const QRegExp & expr, int position = 0, FindFlags options = 0 ) + + + findBlock + findBlock + ( int pos ) + + + idealWidth + idealWidth + () + + + isEmpty + isEmpty + () + + + isRedoAvailable + isRedoAvailable + () + + + isUndoAvailable + isUndoAvailable + () + + + loadResource + loadResource + ( int type, const QUrl & name ) + + + markContentsDirty + markContentsDirty + ( int position, int length ) + + + metaInformation + metaInformation + ( MetaInformation info ) + + + modificationChanged + modificationChanged + ( bool changed ) + + + object + object + ( int objectIndex ) + + + objectForFormat + objectForFormat + ( const QTextFormat & f ) + + + pageCount + pageCount + () + + + print + print + ( QPrinter * printer ) + + + redo + redo + ( QTextCursor * cursor ) + + + redo + redo-2 + () + + + redoAvailable + redoAvailable + ( bool available ) + + + resource + resource + ( int type, const QUrl & name ) + + + rootFrame + rootFrame + () + + + setDocumentLayout + setDocumentLayout + ( QAbstractTextDocumentLayout * layout ) + + + setHtml + setHtml + ( const QString & html ) + + + setMetaInformation + setMetaInformation + ( MetaInformation info, const QString & string ) + + + setPlainText + setPlainText + ( const QString & text ) + + + toHtml + toHtml + ( const QByteArray & encoding = QByteArray() + + + toPlainText + toPlainText + () + + + undo + undo + ( QTextCursor * cursor ) + + + undo + undo-2 + () + + + undoAvailable + undoAvailable + ( bool available ) + + + + QTextDocumentFragment + qtextdocumentfragment.html + + QTextDocumentFragment + QTextDocumentFragment + () + + + QTextDocumentFragment + QTextDocumentFragment-2 + ( const QTextDocument * document ) + + + QTextDocumentFragment + QTextDocumentFragment-3 + ( const QTextCursor & cursor ) + + + QTextDocumentFragment + QTextDocumentFragment-4 + ( const QTextDocumentFragment & other ) + + + fromHtml + fromHtml + ( const QString & text ) + + + fromHtml + fromHtml-2 + ( const QString & text, const QTextDocument * resourceProvider ) + + + fromPlainText + fromPlainText + ( const QString & plainText ) + + + isEmpty + isEmpty + () + + + toHtml + toHtml + ( const QByteArray & encoding ) + + + toHtml + toHtml-2 + () + + + toPlainText + toPlainText + () + + + operator= + operator-eq + ( const QTextDocumentFragment & other ) + + + + QTextEdit::ExtraSelection + qtextedit-extraselection.html + + cursor + cursor-var + + + + format + format-var + + + + KeyboardAction + KeyboardAction-enum + + + + QTextEdit + QTextEdit-4 + ( QWidget * parent, const char * name ) + + + bold + bold + () + + + color + color + () + + + currentColorChanged + currentColorChanged + ( const QColor & color ) + + + currentFontChanged + currentFontChanged + ( const QFont & font ) + + + doKeyboardAction + doKeyboardAction + ( KeyboardAction action ) + + + family + family + () + + + find + find-2 + ( const QString & exp, bool cs, bool wo ) + + + hasSelectedText + hasSelectedText + () + + + insert + insert + ( const QString & text ) + + + isModified + isModified + () + + + isRedoAvailable + isRedoAvailable + () + + + isUndoAvailable + isUndoAvailable + () + + + italic + italic + () + + + moveCursor + moveCursor-2 + ( CursorAction action, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor ) + + + moveCursor + moveCursor-3 + ( CursorAction action, bool select ) + + + pointSize + pointSize + () + + + redo + redo-2 + () + + + selectedText + selectedText + () + + + setBold + setBold + ( bool b ) + + + setColor + setColor + ( const QColor & color ) + + + setFamily + setFamily + ( const QString & family ) + + + setItalic + setItalic + ( bool i ) + + + setModified + setModified + ( bool m = true ) + + + setPointSize + setPointSize + ( int size ) + + + setTextFormat + setTextFormat + ( Qt::TextFormat f ) + + + setUnderline + setUnderline + ( bool b ) + + + sync + sync + () + + + text + text + () + + + TextFormat + textFormat + QTextEdit::textFormat() + + + underline + underline + () + + + undo + undo-2 + () + + + + QTextEdit + qtextedit.html + + CursorAction + CursorAction-enum + + + + LineWrapMode + LineWrapMode-enum + + + + TextInteractionFlags + textInteractionFlags-prop + + + + WrapMode + wordWrapMode-prop + + + + QTextEdit + QTextEdit + ( QWidget * parent = 0 ) + + + QTextEdit + QTextEdit-2 + ( const QString & text, QWidget * parent = 0 ) + + + Alignment + alignment + QTextEdit::alignment() + + + anchorAt + anchorAt + ( const QPoint & pos ) + + + append + append + ( const QString & text ) + + + canInsertFromMimeData + canInsertFromMimeData + ( const QMimeData * source ) + + + canPaste + canPaste + () + + + clear + clear + () + + + contextMenuEvent + contextMenuEvent + ( QContextMenuEvent * event ) + + + copy + copy + () + + + copyAvailable + copyAvailable + ( bool yes ) + + + createMimeDataFromSelection + createMimeDataFromSelection + () + + + createStandardContextMenu + createStandardContextMenu + () + + + currentCharFormat + currentCharFormat + () + + + currentCharFormatChanged + currentCharFormatChanged + ( const QTextCharFormat & f ) + + + currentFont + currentFont + () + + + cursorForPosition + cursorForPosition + ( const QPoint & pos ) + + + cursorPositionChanged + cursorPositionChanged + () + + + cursorRect + cursorRect + ( const QTextCursor & cursor ) + + + cursorRect + cursorRect-2 + () + + + cut + cut + () + + + document + document + () + + + ensureCursorVisible + ensureCursorVisible + () + + + extraSelections + extraSelections + () + + + find + find + ( const QString & exp, QTextDocument::FindFlags options = 0 ) + + + fontFamily + fontFamily + () + + + fontItalic + fontItalic + () + + + fontPointSize + fontPointSize + () + + + fontUnderline + fontUnderline + () + + + fontWeight + fontWeight + () + + + insertFromMimeData + insertFromMimeData + ( const QMimeData * source ) + + + insertHtml + insertHtml + ( const QString & text ) + + + insertPlainText + insertPlainText + ( const QString & text ) + + + loadResource + loadResource + ( int type, const QUrl & name ) + + + mergeCurrentCharFormat + mergeCurrentCharFormat + ( const QTextCharFormat & modifier ) + + + moveCursor + moveCursor + ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor ) + + + paste + paste + () + + + print + print + ( QPrinter * printer ) + + + redo + redo + () + + + redoAvailable + redoAvailable + ( bool available ) + + + scrollToAnchor + scrollToAnchor + ( const QString & name ) + + + selectAll + selectAll + () + + + selectionChanged + selectionChanged + () + + + setAlignment + setAlignment + ( Qt::Alignment a ) + + + setCurrentCharFormat + setCurrentCharFormat + ( const QTextCharFormat & format ) + + + setCurrentFont + setCurrentFont + ( const QFont & f ) + + + setDocument + setDocument + ( QTextDocument * document ) + + + setExtraSelections + setExtraSelections + ( const QList<ExtraSelection> & selections ) + + + setFontFamily + setFontFamily + ( const QString & fontFamily ) + + + setFontItalic + setFontItalic + ( bool italic ) + + + setFontPointSize + setFontPointSize + ( qreal s ) + + + setFontUnderline + setFontUnderline + ( bool underline ) + + + setFontWeight + setFontWeight + ( int weight ) + + + setText + setText + ( const QString & text ) + + + setTextColor + setTextColor + ( const QColor & c ) + + + setTextCursor + setTextCursor + ( const QTextCursor & cursor ) + + + textChanged + textChanged + () + + + textColor + textColor + () + + + textCursor + textCursor + () + + + undo + undo + () + + + undoAvailable + undoAvailable + ( bool available ) + + + zoomIn + zoomIn + ( int range = 1 ) + + + zoomOut + zoomOut + ( int range = 1 ) + + + KeyboardAction + KeyboardAction-enum + + + + QTextEdit + QTextEdit-4 + ( QWidget * parent, const char * name ) + + + bold + bold + () + + + color + color + () + + + currentColorChanged + currentColorChanged + ( const QColor & color ) + + + currentFontChanged + currentFontChanged + ( const QFont & font ) + + + doKeyboardAction + doKeyboardAction + ( KeyboardAction action ) + + + family + family + () + + + find + find-2 + ( const QString & exp, bool cs, bool wo ) + + + hasSelectedText + hasSelectedText + () + + + insert + insert + ( const QString & text ) + + + isModified + isModified + () + + + isRedoAvailable + isRedoAvailable + () + + + isUndoAvailable + isUndoAvailable + () + + + italic + italic + () + + + moveCursor + moveCursor-2 + ( CursorAction action, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor ) + + + moveCursor + moveCursor-3 + ( CursorAction action, bool select ) + + + pointSize + pointSize + () + + + redo + redo-2 + () + + + selectedText + selectedText + () + + + setBold + setBold + ( bool b ) + + + setColor + setColor + ( const QColor & color ) + + + setFamily + setFamily + ( const QString & family ) + + + setItalic + setItalic + ( bool i ) + + + setModified + setModified + ( bool m = true ) + + + setPointSize + setPointSize + ( int size ) + + + setTextFormat + setTextFormat + ( Qt::TextFormat f ) + + + setUnderline + setUnderline + ( bool b ) + + + sync + sync + () + + + text + text + () + + + TextFormat + textFormat + QTextEdit::textFormat() + + + underline + underline + () + + + undo + undo-2 + () + + + + QTextEncoder + qtextencoder.html + + QTextEncoder + QTextEncoder + ( const QTextCodec * codec ) + + + fromUnicode + fromUnicode + ( const QString & str ) + + + fromUnicode + fromUnicode-2 + ( const QChar * uc, int len ) + + + fromUnicode + fromUnicode-3 + ( const QString & uc, int & lenInOut ) + + + + QTextFormat + qtextformat.html + + FormatType + FormatType-enum + + + + ObjectTypes + ObjectTypes-enum + + + + Property + Property-enum + + + + QTextFormat + QTextFormat + () + + + QTextFormat + QTextFormat-2 + ( int type ) + + + QTextFormat + QTextFormat-3 + ( const QTextFormat & other ) + + + background + background + () + + + boolProperty + boolProperty + ( int propertyId ) + + + brushProperty + brushProperty + ( int propertyId ) + + + clearBackground + clearBackground + () + + + clearForeground + clearForeground + () + + + clearProperty + clearProperty + ( int propertyId ) + + + colorProperty + colorProperty + ( int propertyId ) + + + doubleProperty + doubleProperty + ( int propertyId ) + + + foreground + foreground + () + + + hasProperty + hasProperty + ( int propertyId ) + + + intProperty + intProperty + ( int propertyId ) + + + isBlockFormat + isBlockFormat + () + + + isCharFormat + isCharFormat + () + + + isFrameFormat + isFrameFormat + () + + + isImageFormat + isImageFormat + () + + + isListFormat + isListFormat + () + + + isTableFormat + isTableFormat + () + + + isValid + isValid + () + + + LayoutDirection + layoutDirection + QTextFormat::layoutDirection() + + + lengthProperty + lengthProperty + ( int propertyId ) + + + lengthVectorProperty + lengthVectorProperty + ( int propertyId ) + + + merge + merge + ( const QTextFormat & other ) + + + objectIndex + objectIndex + () + + + objectType + objectType + () + + + penProperty + penProperty + ( int propertyId ) + + + properties + properties + () + + + property + property + ( int propertyId ) + + + propertyCount + propertyCount + () + + + setBackground + setBackground + ( const QBrush & brush ) + + + setForeground + setForeground + ( const QBrush & brush ) + + + setLayoutDirection + setLayoutDirection + ( Qt::LayoutDirection direction ) + + + setObjectIndex + setObjectIndex + ( int index ) + + + setObjectType + setObjectType + ( int type ) + + + setProperty + setProperty + ( int propertyId, const QVariant & value ) + + + setProperty + setProperty-2 + ( int propertyId, const QVector<QTextLength> & value ) + + + stringProperty + stringProperty + ( int propertyId ) + + + toBlockFormat + toBlockFormat + () + + + toCharFormat + toCharFormat + () + + + toFrameFormat + toFrameFormat + () + + + toImageFormat + toImageFormat + () + + + toListFormat + toListFormat + () + + + toTableFormat + toTableFormat + () + + + type + type + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QTextFormat & other ) + + + operator= + operator-eq + ( const QTextFormat & other ) + + + operator== + operator-eq-eq + ( const QTextFormat & other ) + + + + QTextFragment + qtextfragment.html + + QTextFragment + QTextFragment + () + + + QTextFragment + QTextFragment-3 + ( const QTextFragment & other ) + + + charFormat + charFormat + () + + + charFormatIndex + charFormatIndex + () + + + contains + contains + ( int position ) + + + isValid + isValid + () + + + length + length + () + + + position + position + () + + + text + text + () + + + operator!= + operator-not-eq + ( const QTextFragment & other ) + + + operator< + operator-lt + ( const QTextFragment & other ) + + + operator= + operator-eq + ( const QTextFragment & other ) + + + operator== + operator-eq-eq + ( const QTextFragment & other ) + + + + QTextFrame::iterator + qtextframe-iterator.html + + iterator + iterator + () + + + iterator + iterator-3 + ( const iterator & other ) + + + atEnd + atEnd + () + + + currentBlock + currentBlock + () + + + currentFrame + currentFrame + () + + + parentFrame + parentFrame + () + + + operator!= + operator-not-eq + ( const iterator & other ) + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator= + operator-eq + ( const iterator & other ) + + + operator== + operator-eq-eq + ( const iterator & other ) + + + + QTextFrame + qtextframe.html + + Iterator + Iterator-typedef + + + + QTextFrame + QTextFrame + ( QTextDocument * document ) + + + begin + begin + () + + + childFrames + childFrames + () + + + end + end + () + + + firstCursorPosition + firstCursorPosition + () + + + firstPosition + firstPosition + () + + + frameFormat + frameFormat + () + + + lastCursorPosition + lastCursorPosition + () + + + lastPosition + lastPosition + () + + + parentFrame + parentFrame + () + + + setFrameFormat + setFrameFormat + ( const QTextFrameFormat & format ) + + + + QTextFrameFormat + qtextframeformat.html + + BorderStyle + BorderStyle-enum + + + + Position + Position-enum + + + + QTextFrameFormat + QTextFrameFormat + () + + + border + border + () + + + borderBrush + borderBrush + () + + + borderStyle + borderStyle + () + + + bottomMargin + bottomMargin + () + + + height + height + () + + + isValid + isValid + () + + + leftMargin + leftMargin + () + + + margin + margin + () + + + padding + padding + () + + + pageBreakPolicy + pageBreakPolicy + () + + + position + position + () + + + rightMargin + rightMargin + () + + + setBorder + setBorder + ( qreal width ) + + + setBorderBrush + setBorderBrush + ( const QBrush & brush ) + + + setBorderStyle + setBorderStyle + ( BorderStyle style ) + + + setBottomMargin + setBottomMargin + ( qreal margin ) + + + setHeight + setHeight + ( const QTextLength & height ) + + + setHeight + setHeight-2 + ( qreal height ) + + + setLeftMargin + setLeftMargin + ( qreal margin ) + + + setMargin + setMargin + ( qreal margin ) + + + setPadding + setPadding + ( qreal width ) + + + setPageBreakPolicy + setPageBreakPolicy + ( PageBreakFlags policy ) + + + setPosition + setPosition + ( Position policy ) + + + setRightMargin + setRightMargin + ( qreal margin ) + + + setTopMargin + setTopMargin + ( qreal margin ) + + + setWidth + setWidth + ( const QTextLength & width ) + + + setWidth + setWidth-2 + ( qreal width ) + + + topMargin + topMargin + () + + + width + width + () + + + + QTextImageFormat + qtextimageformat.html + + QTextImageFormat + QTextImageFormat + () + + + height + height + () + + + isValid + isValid + () + + + name + name + () + + + setHeight + setHeight + ( qreal height ) + + + setName + setName + ( const QString & name ) + + + setWidth + setWidth + ( qreal width ) + + + width + width + () + + + + QTextInlineObject + qtextinlineobject.html + + QTextInlineObject + QTextInlineObject + ( int i, QTextEngine * e ) + + + ascent + ascent + () + + + descent + descent + () + + + format + format + () + + + formatIndex + formatIndex + () + + + height + height + () + + + isValid + isValid + () + + + rect + rect + () + + + setAscent + setAscent + ( qreal a ) + + + setDescent + setDescent + ( qreal d ) + + + setWidth + setWidth + ( qreal w ) + + + LayoutDirection + textDirection + QTextInlineObject::textDirection() + + + textPosition + textPosition + () + + + width + width + () + + + + QTextIStream + qtextistream.html + + QTextIStream + QTextIStream + ( const QString * string ) + + + QTextIStream + QTextIStream-2 + ( QByteArray * byteArray ) + + + QTextIStream + QTextIStream-3 + ( FILE * file ) + + + + QTextLayout::FormatRange + qtextlayout-formatrange.html + + format + format-var + + + + length + length-var + + + + start + start-var + + + + + QTextLayout + qtextlayout.html + + CursorMode + CursorMode-enum + + + + QTextLayout + QTextLayout + () + + + QTextLayout + QTextLayout-2 + ( const QString & text ) + + + QTextLayout + QTextLayout-3 + ( const QString & text, const QFont & font, QPaintDevice * paintdevice = 0 ) + + + additionalFormats + additionalFormats + () + + + beginLayout + beginLayout + () + + + boundingRect + boundingRect + () + + + cacheEnabled + cacheEnabled + () + + + clearAdditionalFormats + clearAdditionalFormats + () + + + createLine + createLine + () + + + draw + draw + ( QPainter * p, const QPointF & pos, const QVector<FormatRange> & selections = QVector<FormatRange>() + + + drawCursor + drawCursor + ( QPainter * painter, const QPointF & position, int cursorPosition, int width ) + + + drawCursor + drawCursor-2 + ( QPainter * painter, const QPointF & position, int cursorPosition ) + + + endLayout + endLayout + () + + + font + font + () + + + isValidCursorPosition + isValidCursorPosition + ( int pos ) + + + lineAt + lineAt + ( int i ) + + + lineCount + lineCount + () + + + lineForTextPosition + lineForTextPosition + ( int pos ) + + + maximumWidth + maximumWidth + () + + + minimumWidth + minimumWidth + () + + + nextCursorPosition + nextCursorPosition + ( int oldPos, CursorMode mode = SkipCharacters ) + + + position + position + () + + + preeditAreaPosition + preeditAreaPosition + () + + + preeditAreaText + preeditAreaText + () + + + previousCursorPosition + previousCursorPosition + ( int oldPos, CursorMode mode = SkipCharacters ) + + + setAdditionalFormats + setAdditionalFormats + ( const QList<FormatRange> & formatList ) + + + setCacheEnabled + setCacheEnabled + ( bool enable ) + + + setFont + setFont + ( const QFont & font ) + + + setPosition + setPosition + ( const QPointF & p ) + + + setPreeditArea + setPreeditArea + ( int position, const QString & text ) + + + setText + setText + ( const QString & string ) + + + setTextOption + setTextOption + ( const QTextOption & option ) + + + text + text + () + + + textOption + textOption + () + + + + QTextLength + qtextlength.html + + Type + Type-enum + + + + QTextLength + QTextLength + () + + + QTextLength + QTextLength-2 + ( Type type, qreal value ) + + + rawValue + rawValue + () + + + type + type + () + + + value + value + ( qreal maximumLength ) + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QTextLength & other ) + + + operator== + operator-eq-eq + ( const QTextLength & other ) + + + + QTextLine + qtextline.html + + CursorPosition + CursorPosition-enum + + + + Edge + Edge-enum + + + + QTextLine + QTextLine + () + + + ascent + ascent + () + + + cursorToX + cursorToX + ( int * cursorPos, Edge edge = Leading ) + + + cursorToX + cursorToX-2 + ( int cursorPos, Edge edge = Leading ) + + + descent + descent + () + + + draw + draw + ( QPainter * painter, const QPointF & position, const QTextLayout::FormatRange * selection = 0 ) + + + height + height + () + + + isValid + isValid + () + + + lineNumber + lineNumber + () + + + naturalTextRect + naturalTextRect + () + + + naturalTextWidth + naturalTextWidth + () + + + position + position + () + + + rect + rect + () + + + setLineWidth + setLineWidth + ( qreal width ) + + + setNumColumns + setNumColumns + ( int numColumns ) + + + setNumColumns + setNumColumns-2 + ( int numColumns, qreal alignmentWidth ) + + + setPosition + setPosition + ( const QPointF & pos ) + + + textLength + textLength + () + + + textStart + textStart + () + + + width + width + () + + + x + x + () + + + xToCursor + xToCursor + ( qreal x, CursorPosition cpos = CursorBetweenCharacters ) + + + y + y + () + + + isEmpty + isEmpty + () + + + + QTextList + qtextlist.html + + add + add + ( const QTextBlock & block ) + + + count + count + () + + + format + format + () + + + item + item + ( int i ) + + + itemNumber + itemNumber + ( const QTextBlock & block ) + + + itemText + itemText + ( const QTextBlock & block ) + + + remove + remove + ( const QTextBlock & block ) + + + removeItem + removeItem + ( int i ) + + + setFormat + setFormat + ( const QTextListFormat & format ) + + + + QTextListFormat + qtextlistformat.html + + Style + Style-enum + + + + QTextListFormat + QTextListFormat + () + + + indent + indent + () + + + isValid + isValid + () + + + setIndent + setIndent + ( int indentation ) + + + setStyle + setStyle + ( Style style ) + + + style + style + () + + + + QTextObject + qtextobject.html + + QTextObject + QTextObject + ( QTextDocument * document ) + + + document + document + () + + + format + format + () + + + formatIndex + formatIndex + () + + + objectIndex + objectIndex + () + + + setFormat + setFormat + ( const QTextFormat & format ) + + + + QTextOption + qtextoption.html + + WrapMode + WrapMode-enum + + + + QTextOption + QTextOption + () + + + QTextOption + QTextOption-2 + ( Qt::Alignment alignment ) + + + QTextOption + QTextOption-3 + ( const QTextOption & other ) + + + Alignment + alignment + QTextOption::alignment() + + + flags + flags + () + + + setAlignment + setAlignment + ( Qt::Alignment alignment ) + + + setFlags + setFlags + ( Flags flags ) + + + setTabArray + setTabArray + ( QList<qreal> tabStops ) + + + setTabStop + setTabStop + ( qreal tabStop ) + + + setTextDirection + setTextDirection + ( Qt::LayoutDirection direction ) + + + setUseDesignMetrics + setUseDesignMetrics + ( bool enable ) + + + setWrapMode + setWrapMode + ( WrapMode mode ) + + + tabArray + tabArray + () + + + tabStop + tabStop + () + + + LayoutDirection + textDirection + QTextOption::textDirection() + + + useDesignMetrics + useDesignMetrics + () + + + wrapMode + wrapMode + () + + + operator= + operator-eq + ( const QTextOption & other ) + + + + QTextOStream + qtextostream.html + + QTextOStream + QTextOStream + ( QString * string ) + + + QTextOStream + QTextOStream-2 + ( QByteArray * byteArray ) + + + QTextOStream + QTextOStream-3 + ( FILE * file ) + + + Encoding + Encoding-enum + + + + fill + fill + ( int f ) + + + flags + flags + () + + + flags + flags-2 + ( int f ) + + + precision + precision + ( int p ) + + + read + read-2 + () + + + setEncoding + setEncoding + ( Encoding encoding ) + + + setf + setf + ( int bits ) + + + setf + setf-2 + ( int bits, int mask ) + + + unsetDevice + unsetDevice + () + + + unsetf + unsetf + ( int bits ) + + + width + width + ( int w ) + + + adjustfield + adjustfield-var + + + + basefield + basefield-var + + + + bin + bin-var + + + + dec + dec-var + + + + fixed + fixed-var + + + + floatfield + floatfield-var + + + + hex + hex-var + + + + internal + internal-var + + + + left + left-var + + + + oct + oct-var + + + + right + right-var + + + + scientific + scientific-var + + + + showbase + showbase-var + + + + showpoint + showpoint-var + + + + showpos + showpos-var + + + + skipws + skipws-var + + + + uppercase + uppercase-var + + + + + QTextStream + qtextstream.html + + FieldAlignment + FieldAlignment-enum + + + + RealNumberNotation + RealNumberNotation-enum + + + + Status + Status-enum + + + + QTextStream + QTextStream + () + + + QTextStream + QTextStream-2 + ( QIODevice * device ) + + + QTextStream + QTextStream-3 + ( FILE * fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite ) + + + QTextStream + QTextStream-4 + ( QString * string, QIODevice::OpenMode openMode = QIODevice::ReadWrite ) + + + QTextStream + QTextStream-5 + ( QByteArray * array, QIODevice::OpenMode openMode = QIODevice::ReadWrite ) + + + QTextStream + QTextStream-6 + ( const QByteArray & array, QIODevice::OpenMode openMode = QIODevice::ReadOnly ) + + + atEnd + atEnd + () + + + autoDetectUnicode + autoDetectUnicode + () + + + codec + codec + () + + + device + device + () + + + fieldAlignment + fieldAlignment + () + + + fieldWidth + fieldWidth + () + + + flush + flush + () + + + generateByteOrderMark + generateByteOrderMark + () + + + integerBase + integerBase + () + + + numberFlags + numberFlags + () + + + padChar + padChar + () + + + pos + pos + () + + + read + read + ( qint64 maxlen ) + + + readAll + readAll + () + + + readLine + readLine + ( qint64 maxlen = 0 ) + + + realNumberNotation + realNumberNotation + () + + + realNumberPrecision + realNumberPrecision + () + + + reset + reset + () + + + resetStatus + resetStatus + () + + + seek + seek + ( qint64 pos ) + + + setAutoDetectUnicode + setAutoDetectUnicode + ( bool enabled ) + + + setCodec + setCodec + ( QTextCodec * codec ) + + + setCodec + setCodec-2 + ( const char * codecName ) + + + setDevice + setDevice + ( QIODevice * device ) + + + setFieldAlignment + setFieldAlignment + ( FieldAlignment mode ) + + + setFieldWidth + setFieldWidth + ( int width ) + + + setGenerateByteOrderMark + setGenerateByteOrderMark + ( bool generate ) + + + setIntegerBase + setIntegerBase + ( int base ) + + + setNumberFlags + setNumberFlags + ( NumberFlags flags ) + + + setPadChar + setPadChar + ( QChar ch ) + + + setRealNumberNotation + setRealNumberNotation + ( RealNumberNotation notation ) + + + setRealNumberPrecision + setRealNumberPrecision + ( int precision ) + + + setStatus + setStatus + ( Status status ) + + + setString + setString + ( QString * string, QIODevice::OpenMode openMode = QIODevice::ReadWrite ) + + + skipWhiteSpace + skipWhiteSpace + () + + + status + status + () + + + string + string + () + + + operator<< + operator-lt-lt + ( QChar c ) + + + operator<< + operator-lt-lt-2 + ( signed short i ) + + + operator<< + operator-lt-lt-3 + ( float f ) + + + operator<< + operator-lt-lt-4 + ( const QString & string ) + + + operator<< + operator-lt-lt-6 + ( char c ) + + + operator<< + operator-lt-lt-7 + ( unsigned short i ) + + + operator<< + operator-lt-lt-8 + ( signed int i ) + + + operator<< + operator-lt-lt-9 + ( unsigned int i ) + + + operator<< + operator-lt-lt-10 + ( signed long i ) + + + operator<< + operator-lt-lt-11 + ( unsigned long i ) + + + operator<< + operator-lt-lt-12 + ( qlonglong i ) + + + operator<< + operator-lt-lt-13 + ( qulonglong i ) + + + operator<< + operator-lt-lt-14 + ( double f ) + + + operator<< + operator-lt-lt-15 + ( const QByteArray & array ) + + + operator<< + operator-lt-lt-16 + ( const char * string ) + + + operator<< + operator-lt-lt-17 + ( const void * ptr ) + + + operator>> + operator-gt-gt + ( QChar & c ) + + + operator>> + operator-gt-gt-2 + ( signed short & i ) + + + operator>> + operator-gt-gt-3 + ( float & f ) + + + operator>> + operator-gt-gt-4 + ( QString & str ) + + + operator>> + operator-gt-gt-5 + ( char & c ) + + + operator>> + operator-gt-gt-6 + ( unsigned short & i ) + + + operator>> + operator-gt-gt-7 + ( signed int & i ) + + + operator>> + operator-gt-gt-8 + ( unsigned int & i ) + + + operator>> + operator-gt-gt-9 + ( signed long & i ) + + + operator>> + operator-gt-gt-10 + ( unsigned long & i ) + + + operator>> + operator-gt-gt-11 + ( qlonglong & i ) + + + operator>> + operator-gt-gt-12 + ( qulonglong & i ) + + + operator>> + operator-gt-gt-13 + ( double & f ) + + + operator>> + operator-gt-gt-14 + ( QByteArray & array ) + + + operator>> + operator-gt-gt-15 + ( char * c ) + + + Encoding + Encoding-enum + + + + fill + fill + ( int f ) + + + flags + flags + () + + + flags + flags-2 + ( int f ) + + + precision + precision + ( int p ) + + + read + read-2 + () + + + setEncoding + setEncoding + ( Encoding encoding ) + + + setf + setf + ( int bits ) + + + setf + setf-2 + ( int bits, int mask ) + + + unsetDevice + unsetDevice + () + + + unsetf + unsetf + ( int bits ) + + + width + width + ( int w ) + + + adjustfield + adjustfield-var + + + + basefield + basefield-var + + + + bin + bin-var + + + + dec + dec-var + + + + fixed + fixed-var + + + + floatfield + floatfield-var + + + + hex + hex-var + + + + internal + internal-var + + + + left + left-var + + + + oct + oct-var + + + + right + right-var + + + + scientific + scientific-var + + + + showbase + showbase-var + + + + showpoint + showpoint-var + + + + showpos + showpos-var + + + + skipws + skipws-var + + + + uppercase + uppercase-var + + + + + QTextTable + qtexttable.html + + cellAt + cellAt + ( int row, int column ) + + + cellAt + cellAt-2 + ( int position ) + + + cellAt + cellAt-3 + ( const QTextCursor & cursor ) + + + columns + columns + () + + + format + format + () + + + insertColumns + insertColumns + ( int index, int columns ) + + + insertRows + insertRows + ( int index, int rows ) + + + mergeCells + mergeCells + ( int row, int column, int numRows, int numCols ) + + + mergeCells + mergeCells-2 + ( const QTextCursor & cursor ) + + + removeColumns + removeColumns + ( int index, int columns ) + + + removeRows + removeRows + ( int index, int rows ) + + + resize + resize + ( int rows, int columns ) + + + rowEnd + rowEnd + ( const QTextCursor & cursor ) + + + rowStart + rowStart + ( const QTextCursor & cursor ) + + + rows + rows + () + + + setFormat + setFormat + ( const QTextTableFormat & format ) + + + splitCell + splitCell + ( int row, int column, int numRows, int numCols ) + + + + QTextTableCell + qtexttablecell.html + + QTextTableCell + QTextTableCell + () + + + QTextTableCell + QTextTableCell-2 + ( const QTextTableCell & other ) + + + iterator + begin + QTextTableCell::begin() + + + column + column + () + + + columnSpan + columnSpan + () + + + iterator + end + QTextTableCell::end() + + + firstCursorPosition + firstCursorPosition + () + + + format + format + () + + + isValid + isValid + () + + + lastCursorPosition + lastCursorPosition + () + + + row + row + () + + + rowSpan + rowSpan + () + + + setFormat + setFormat + ( const QTextCharFormat & format ) + + + operator!= + operator-not-eq + ( const QTextTableCell & other ) + + + operator= + operator-eq + ( const QTextTableCell & other ) + + + operator== + operator-eq-eq + ( const QTextTableCell & other ) + + + + QTextTableFormat + qtexttableformat.html + + QTextTableFormat + QTextTableFormat + () + + + Alignment + alignment + QTextTableFormat::alignment() + + + cellPadding + cellPadding + () + + + cellSpacing + cellSpacing + () + + + clearColumnWidthConstraints + clearColumnWidthConstraints + () + + + columnWidthConstraints + columnWidthConstraints + () + + + columns + columns + () + + + headerRowCount + headerRowCount + () + + + isValid + isValid + () + + + setAlignment + setAlignment + ( Qt::Alignment alignment ) + + + setCellPadding + setCellPadding + ( qreal padding ) + + + setCellSpacing + setCellSpacing + ( qreal spacing ) + + + setColumnWidthConstraints + setColumnWidthConstraints + ( const QVector<QTextLength> & constraints ) + + + setHeaderRowCount + setHeaderRowCount + ( int count ) + + + finished + finished-2 + () + + + running + running + () + + + + QThread + qthread.html + + Priority + Priority-enum + + + + QThread + QThread + ( QObject * parent = 0 ) + + + currentThread + currentThread + () + + + HANDLE + currentThreadId + QThread::currentThreadId() + + + exec + exec + () + + + exit + exit + ( int returnCode = 0 ) + + + finished + finished + () + + + idealThreadCount + idealThreadCount + () + + + isFinished + isFinished + () + + + isRunning + isRunning + () + + + msleep + msleep + ( unsigned long msecs ) + + + priority + priority + () + + + quit + quit + () + + + run + run + () + + + setPriority + setPriority + ( Priority priority ) + + + setStackSize + setStackSize + ( uint stackSize ) + + + setTerminationEnabled + setTerminationEnabled + ( bool enabled = true ) + + + sleep + sleep + ( unsigned long secs ) + + + stackSize + stackSize + () + + + start + start + ( Priority priority = InheritPriority ) + + + started + started + () + + + terminate + terminate + () + + + terminated + terminated + () + + + usleep + usleep + ( unsigned long usecs ) + + + wait + wait + ( unsigned long time = ULONG_MAX ) + + + finished + finished-2 + () + + + running + running + () + + + + QThreadStorage + qthreadstorage.html + + QThreadStorage + QThreadStorage + () + + + hasLocalData + hasLocalData + () + + + localData + localData + () + + + localData + localData-2 + () + + + setLocalData + setLocalData + ( T data ) + + + currentTime + currentTime-2 + ( Qt::TimeSpec specification ) + + + + QTime + qtime.html + + QTime + QTime + () + + + QTime + QTime-2 + ( int h, int m, int s = 0, int ms = 0 ) + + + addMSecs + addMSecs + ( int ms ) + + + addSecs + addSecs + ( int s ) + + + currentTime + currentTime + () + + + elapsed + elapsed + () + + + fromString + fromString + ( const QString & string, Qt::DateFormat format = Qt::TextDate ) + + + fromString + fromString-2 + ( const QString & string, const QString & format ) + + + hour + hour + () + + + isNull + isNull + () + + + isValid + isValid + () + + + isValid + isValid-2 + ( int h, int m, int s, int ms = 0 ) + + + minute + minute + () + + + msec + msec + () + + + msecsTo + msecsTo + ( const QTime & t ) + + + restart + restart + () + + + second + second + () + + + secsTo + secsTo + ( const QTime & t ) + + + setHMS + setHMS + ( int h, int m, int s, int ms = 0 ) + + + start + start + () + + + toString + toString + ( const QString & format ) + + + toString + toString-2 + ( Qt::DateFormat f = Qt::TextDate ) + + + operator!= + operator-not-eq + ( const QTime & t ) + + + operator< + operator-lt + ( const QTime & t ) + + + operator<= + operator-lt-eq + ( const QTime & t ) + + + operator== + operator-eq-eq + ( const QTime & t ) + + + operator> + operator-gt + ( const QTime & t ) + + + operator>= + operator-gt-eq + ( const QTime & t ) + + + currentTime + currentTime-2 + ( Qt::TimeSpec specification ) + + + + QTimeEdit + qtimeedit.html + + QTimeEdit + QTimeEdit + ( QWidget * parent = 0 ) + + + QTimeEdit + QTimeEdit-2 + ( const QTime & time, QWidget * parent = 0 ) + + + + QTimeLine + qtimeline.html + + CurveShape + CurveShape-enum + + + + Direction + Direction-enum + + + + State + State-enum + + + + QTimeLine + QTimeLine + ( int duration = 1000, QObject * parent = 0 ) + + + currentFrame + currentFrame + () + + + currentValue + currentValue + () + + + endFrame + endFrame + () + + + finished + finished + () + + + frameChanged + frameChanged + ( int frame ) + + + frameForTime + frameForTime + ( int msec ) + + + resume + resume + () + + + setEndFrame + setEndFrame + ( int frame ) + + + setFrameRange + setFrameRange + ( int startFrame, int endFrame ) + + + setPaused + setPaused + ( bool paused ) + + + setStartFrame + setStartFrame + ( int frame ) + + + start + start + () + + + startFrame + startFrame + () + + + state + state + () + + + stateChanged + stateChanged + ( QTimeLine::State newState ) + + + stop + stop + () + + + toggleDirection + toggleDirection + () + + + valueChanged + valueChanged + ( qreal value ) + + + valueForTime + valueForTime + ( int msec ) + + + QTimer + QTimer-2 + ( QObject * parent, const char * name ) + + + changeInterval + changeInterval + ( int msec ) + + + start + start-3 + ( int msec, bool sshot ) + + + + QTimer + qtimer.html + + QTimer + QTimer + ( QObject * parent = 0 ) + + + singleShot + singleShot + ( int msec, QObject * receiver, const char * member ) + + + start + start + ( int msec ) + + + start + start-2 + () + + + stop + stop + () + + + timeout + timeout + () + + + timerId + timerId + () + + + QTimer + QTimer-2 + ( QObject * parent, const char * name ) + + + changeInterval + changeInterval + ( int msec ) + + + start + start-3 + ( int msec, bool sshot ) + + + + QTimerEvent + qtimerevent.html + + QTimerEvent + QTimerEvent + ( int timerId ) + + + timerId + timerId + () + + + QToolBar + QToolBar-3 + ( QWidget * parent, const char * name ) + + + label + label + () + + + setLabel + setLabel + ( const QString & label ) + + + + QToolBar + qtoolbar.html + + ToolBarAreas + allowedAreas-prop + + + + Orientation + orientation-prop + + + + ToolButtonStyle + toolButtonStyle-prop + + + + QToolBar + QToolBar + ( const QString & title, QWidget * parent = 0 ) + + + QToolBar + QToolBar-2 + ( QWidget * parent = 0 ) + + + actionAt + actionAt + ( const QPoint & p ) + + + actionAt + actionAt-2 + ( int x, int y ) + + + actionTriggered + actionTriggered + ( QAction * action ) + + + addAction + addAction + ( const QString & text ) + + + addAction + addAction-2 + ( const QIcon & icon, const QString & text ) + + + addAction + addAction-3 + ( const QString & text, const QObject * receiver, const char * member ) + + + addAction + addAction-4 + ( const QIcon & icon, const QString & text, const QObject * receiver, const char * member ) + + + addSeparator + addSeparator + () + + + addWidget + addWidget + ( QWidget * widget ) + + + allowedAreasChanged + allowedAreasChanged + ( Qt::ToolBarAreas allowedAreas ) + + + clear + clear + () + + + iconSizeChanged + iconSizeChanged + ( const QSize & iconSize ) + + + insertSeparator + insertSeparator + ( QAction * before ) + + + insertWidget + insertWidget + ( QAction * before, QWidget * widget ) + + + isAreaAllowed + isAreaAllowed + ( Qt::ToolBarArea area ) + + + movableChanged + movableChanged + ( bool movable ) + + + orientationChanged + orientationChanged + ( Qt::Orientation orientation ) + + + toggleViewAction + toggleViewAction + () + + + toolButtonStyleChanged + toolButtonStyleChanged + ( Qt::ToolButtonStyle toolButtonStyle ) + + + widgetForAction + widgetForAction + ( QAction * action ) + + + QToolBar + QToolBar-3 + ( QWidget * parent, const char * name ) + + + label + label + () + + + setLabel + setLabel + ( const QString & label ) + + + QToolBox + QToolBox-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + currentItem + currentItem + () + + + item + item + ( int index ) + + + itemIconSet + itemIconSet + ( int index ) + + + itemLabel + itemLabel + ( int index ) + + + margin + margin + () + + + removeItem + removeItem-2 + ( QWidget * widget ) + + + setCurrentItem + setCurrentItem + ( QWidget * widget ) + + + setItemIconSet + setItemIconSet + ( int index, const QIcon & icon ) + + + setItemLabel + setItemLabel + ( int index, const QString & text ) + + + setMargin + setMargin + ( int margin ) + + + + QToolBox + qtoolbox.html + + QToolBox + QToolBox + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + addItem + addItem + ( QWidget * widget, const QIcon & iconSet, const QString & text ) + + + addItem + addItem-2 + ( QWidget * w, const QString & text ) + + + currentChanged + currentChanged + ( int index ) + + + currentWidget + currentWidget + () + + + indexOf + indexOf + ( QWidget * widget ) + + + insertItem + insertItem + ( int index, QWidget * widget, const QIcon & icon, const QString & text ) + + + insertItem + insertItem-2 + ( int index, QWidget * widget, const QString & text ) + + + isItemEnabled + isItemEnabled + ( int index ) + + + itemIcon + itemIcon + ( int index ) + + + itemInserted + itemInserted + ( int index ) + + + itemRemoved + itemRemoved + ( int index ) + + + itemText + itemText + ( int index ) + + + itemToolTip + itemToolTip + ( int index ) + + + removeItem + removeItem + ( int index ) + + + setCurrentWidget + setCurrentWidget + ( QWidget * widget ) + + + setItemEnabled + setItemEnabled + ( int index, bool enabled ) + + + setItemIcon + setItemIcon + ( int index, const QIcon & icon ) + + + setItemText + setItemText + ( int index, const QString & text ) + + + setItemToolTip + setItemToolTip + ( int index, const QString & toolTip ) + + + widget + widget + ( int index ) + + + QToolBox + QToolBox-2 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + currentItem + currentItem + () + + + item + item + ( int index ) + + + itemIconSet + itemIconSet + ( int index ) + + + itemLabel + itemLabel + ( int index ) + + + margin + margin + () + + + removeItem + removeItem-2 + ( QWidget * widget ) + + + setCurrentItem + setCurrentItem + ( QWidget * widget ) + + + setItemIconSet + setItemIconSet + ( int index, const QIcon & icon ) + + + setItemLabel + setItemLabel + ( int index, const QString & text ) + + + setMargin + setMargin + ( int margin ) + + + TextPosition + TextPosition-enum + + + + QToolButton + QToolButton-3 + ( QWidget * parent, const char * name ) + + + QToolButton + QToolButton-4 + ( Qt::ArrowType type, QWidget * parent, const char * name ) + + + QToolButton + QToolButton-5 + ( const QIcon & icon, const QString & textLabel, const QString & statusTip, QObject * receiver, const char * slot, QWidget * parent, const char * name = 0 ) + + + iconSet + iconSet + () + + + iconSet + iconSet-2 + ( bool on ) + + + offIconSet + offIconSet + () + + + onIconSet + onIconSet + () + + + openPopup + openPopup + () + + + popup + popup + () + + + popupDelay + popupDelay + () + + + setIconSet + setIconSet + ( const QIcon & icon ) + + + setIconSet + setIconSet-2 + ( const QIcon & set, bool on ) + + + setOffIconSet + setOffIconSet + ( const QIcon & set ) + + + setOnIconSet + setOnIconSet + ( const QIcon & set ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + setPopup + setPopup + ( QMenu * popup ) + + + setPopupDelay + setPopupDelay + ( int delay ) + + + setTextLabel + setTextLabel + ( const QString & text, bool tooltip = true ) + + + setTextPosition + setTextPosition + ( QToolButton::TextPosition pos ) + + + setUsesBigPixmap + setUsesBigPixmap + ( bool enable ) + + + setUsesTextLabel + setUsesTextLabel + ( bool enable ) + + + textLabel + textLabel + () + + + textPosition + textPosition + () + + + usesBigPixmap + usesBigPixmap + () + + + usesTextLabel + usesTextLabel + () + + + + QToolButton + qtoolbutton.html + + ToolButtonPopupMode + ToolButtonPopupMode-enum + + + + ArrowType + arrowType-prop + + + + ToolButtonStyle + toolButtonStyle-prop + + + + QToolButton + QToolButton + ( QWidget * parent = 0 ) + + + defaultAction + defaultAction + () + + + initStyleOption + initStyleOption + ( QStyleOptionToolButton * option ) + + + menu + menu + () + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + setDefaultAction + setDefaultAction + ( QAction * action ) + + + setMenu + setMenu + ( QMenu * menu ) + + + showMenu + showMenu + () + + + triggered + triggered + ( QAction * action ) + + + TextPosition + TextPosition-enum + + + + QToolButton + QToolButton-3 + ( QWidget * parent, const char * name ) + + + QToolButton + QToolButton-4 + ( Qt::ArrowType type, QWidget * parent, const char * name ) + + + QToolButton + QToolButton-5 + ( const QIcon & icon, const QString & textLabel, const QString & statusTip, QObject * receiver, const char * slot, QWidget * parent, const char * name = 0 ) + + + iconSet + iconSet + () + + + iconSet + iconSet-2 + ( bool on ) + + + offIconSet + offIconSet + () + + + onIconSet + onIconSet + () + + + openPopup + openPopup + () + + + popup + popup + () + + + popupDelay + popupDelay + () + + + setIconSet + setIconSet + ( const QIcon & icon ) + + + setIconSet + setIconSet-2 + ( const QIcon & set, bool on ) + + + setOffIconSet + setOffIconSet + ( const QIcon & set ) + + + setOnIconSet + setOnIconSet + ( const QIcon & set ) + + + setPixmap + setPixmap + ( const QPixmap & pixmap ) + + + setPopup + setPopup + ( QMenu * popup ) + + + setPopupDelay + setPopupDelay + ( int delay ) + + + setTextLabel + setTextLabel + ( const QString & text, bool tooltip = true ) + + + setTextPosition + setTextPosition + ( QToolButton::TextPosition pos ) + + + setUsesBigPixmap + setUsesBigPixmap + ( bool enable ) + + + setUsesTextLabel + setUsesTextLabel + ( bool enable ) + + + textLabel + textLabel + () + + + textPosition + textPosition + () + + + usesBigPixmap + usesBigPixmap + () + + + usesTextLabel + usesTextLabel + () + + + add + add + ( QWidget * widget, const QString & text ) + + + add + add-2 + ( QWidget * widget, const QRect & rect, const QString & text ) + + + remove + remove + ( QWidget * widget ) + + + + QToolTip + qtooltip.html + + font + font + () + + + hideText + hideText + () + + + palette + palette + () + + + setFont + setFont + ( const QFont & font ) + + + setPalette + setPalette + ( const QPalette & palette ) + + + showText + showText + ( const QPoint & pos, const QString & text, QWidget * w, const QRect & rect ) + + + showText + showText-2 + ( const QPoint & pos, const QString & text, QWidget * w = 0 ) + + + add + add + ( QWidget * widget, const QString & text ) + + + add + add-2 + ( QWidget * widget, const QRect & rect, const QString & text ) + + + remove + remove + ( QWidget * widget ) + + + + QTransform + qtransform.html + + TransformationType + TransformationType-enum + + + + QTransform + QTransform + () + + + QTransform + QTransform-2 + ( qreal h11, qreal h12, qreal h13, qreal h21, qreal h22, qreal h23, qreal h31, qreal h32, qreal h33 = 1.0 ) + + + QTransform + QTransform-3 + ( qreal h11, qreal h12, qreal h21, qreal h22, qreal dx, qreal dy ) + + + QTransform + QTransform-4 + ( const QMatrix & matrix ) + + + m11 + m11 + () + + + m12 + m12 + () + + + m13 + m13 + () + + + m21 + m21 + () + + + m22 + m22 + () + + + m23 + m23 + () + + + m31 + m31 + () + + + m32 + m32 + () + + + m33 + m33 + () + + + adjoint + adjoint + () + + + det + det + () + + + determinant + determinant + () + + + dx + dx + () + + + dy + dy + () + + + inverted + inverted + ( bool * invertible = 0 ) + + + isAffine + isAffine + () + + + isIdentity + isIdentity + () + + + isInvertible + isInvertible + () + + + isRotating + isRotating + () + + + isScaling + isScaling + () + + + isTranslating + isTranslating + () + + + map + map + ( qreal x, qreal y, qreal * tx, qreal * ty ) + + + map + map-2 + ( const QPointF & p ) + + + map + map-3 + ( const QPoint & point ) + + + map + map-4 + ( const QLine & l ) + + + map + map-5 + ( const QLineF & line ) + + + map + map-6 + ( const QPolygonF & polygon ) + + + map + map-7 + ( const QPolygon & polygon ) + + + map + map-8 + ( const QRegion & region ) + + + map + map-9 + ( const QPainterPath & path ) + + + map + map-10 + ( int x, int y, int * tx, int * ty ) + + + mapRect + mapRect + ( const QRectF & rectangle ) + + + mapRect + mapRect-2 + ( const QRect & rectangle ) + + + mapToPolygon + mapToPolygon + ( const QRect & rectangle ) + + + quadToQuad + quadToQuad + ( const QPolygonF & one, const QPolygonF & two, QTransform & trans ) + + + quadToSquare + quadToSquare + ( const QPolygonF & quad, QTransform & trans ) + + + reset + reset + () + + + rotate + rotate + ( qreal angle, Qt::Axis axis = Qt::ZAxis ) + + + rotateRadians + rotateRadians + ( qreal angle, Qt::Axis axis = Qt::ZAxis ) + + + scale + scale + ( qreal sx, qreal sy ) + + + setMatrix + setMatrix + ( qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33 ) + + + shear + shear + ( qreal sh, qreal sv ) + + + squareToQuad + squareToQuad + ( const QPolygonF & quad, QTransform & trans ) + + + toAffine + toAffine + () + + + translate + translate + ( qreal dx, qreal dy ) + + + transposed + transposed + () + + + type + type + () + + + operator + operator-QVariant + QVariant() + + + operator!= + operator-not-eq + ( const QTransform & matrix ) + + + operator* + operator-2a + ( const QTransform & matrix ) + + + operator*= + operator-2a-eq + ( const QTransform & matrix ) + + + operator*= + operator-2a-eq-2 + ( qreal scalar ) + + + operator+= + operator-2b-eq + ( qreal scalar ) + + + operator-= + operator--eq + ( qreal scalar ) + + + operator/= + operator-2f-eq + ( qreal scalar ) + + + operator= + operator-eq + ( const QTransform & matrix ) + + + operator== + operator-eq-eq + ( const QTransform & matrix ) + + + QTranslator + QTranslator-2 + ( QObject * parent, const char * name ) + + + find + find + ( const char * context, const char * sourceText, const char * comment = 0 ) + + + + QTranslator + qtranslator.html + + QTranslator + QTranslator + ( QObject * parent = 0 ) + + + isEmpty + isEmpty + () + + + load + load + ( const QString & filename, const QString & directory = QString() + + + load + load-2 + ( const uchar * data, int len ) + + + translate + translate + ( const char * context, const char * sourceText, const char * comment = 0 ) + + + translate + translate-2 + ( const char * context, const char * sourceText, const char * comment, int n ) + + + QTranslator + QTranslator-2 + ( QObject * parent, const char * name ) + + + find + find + ( const char * context, const char * sourceText, const char * comment = 0 ) + + + sortByColumn + sortByColumn-2 + ( int column ) + + + + QTreeView + qtreeview.html + + QTreeView + QTreeView + ( QWidget * parent = 0 ) + + + collapse + collapse + ( const QModelIndex & index ) + + + collapseAll + collapseAll + () + + + collapsed + collapsed + ( const QModelIndex & index ) + + + columnAt + columnAt + ( int x ) + + + columnCountChanged + columnCountChanged + ( int oldCount, int newCount ) + + + columnMoved + columnMoved + () + + + columnResized + columnResized + ( int column, int oldSize, int newSize ) + + + columnViewportPosition + columnViewportPosition + ( int column ) + + + columnWidth + columnWidth + ( int column ) + + + currentChanged + currentChanged + ( const QModelIndex & current, const QModelIndex & previous ) + + + drawBranches + drawBranches + ( QPainter * painter, const QRect & rect, const QModelIndex & index ) + + + drawRow + drawRow + ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) + + + drawTree + drawTree + ( QPainter * painter, const QRegion & region ) + + + expand + expand + ( const QModelIndex & index ) + + + expandAll + expandAll + () + + + expandToDepth + expandToDepth + ( int depth ) + + + expanded + expanded + ( const QModelIndex & index ) + + + header + header + () + + + hideColumn + hideColumn + ( int column ) + + + horizontalOffset + horizontalOffset + () + + + indexAbove + indexAbove + ( const QModelIndex & index ) + + + indexBelow + indexBelow + ( const QModelIndex & index ) + + + indexRowSizeHint + indexRowSizeHint + ( const QModelIndex & index ) + + + isColumnHidden + isColumnHidden + ( int column ) + + + isExpanded + isExpanded + ( const QModelIndex & index ) + + + isFirstColumnSpanned + isFirstColumnSpanned + ( int row, const QModelIndex & parent ) + + + isRowHidden + isRowHidden + ( int row, const QModelIndex & parent ) + + + moveCursor + moveCursor + ( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) + + + resizeColumnToContents + resizeColumnToContents + ( int column ) + + + rowHeight + rowHeight + ( const QModelIndex & index ) + + + rowsAboutToBeRemoved + rowsAboutToBeRemoved + ( const QModelIndex & parent, int start, int end ) + + + rowsInserted + rowsInserted + ( const QModelIndex & parent, int start, int end ) + + + rowsRemoved + rowsRemoved + ( const QModelIndex & parent, int start, int end ) + + + scrollContentsBy + scrollContentsBy + ( int dx, int dy ) + + + scrollTo + scrollTo + ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) + + + selectAll + selectAll + () + + + selectionChanged + selectionChanged + ( const QItemSelection & selected, const QItemSelection & deselected ) + + + setColumnHidden + setColumnHidden + ( int column, bool hide ) + + + setColumnWidth + setColumnWidth + ( int column, int width ) + + + setExpanded + setExpanded + ( const QModelIndex & index, bool expanded ) + + + setFirstColumnSpanned + setFirstColumnSpanned + ( int row, const QModelIndex & parent, bool span ) + + + setHeader + setHeader + ( QHeaderView * header ) + + + setRowHidden + setRowHidden + ( int row, const QModelIndex & parent, bool hide ) + + + setSelection + setSelection + ( const QRect & rect, QItemSelectionModel::SelectionFlags command ) + + + showColumn + showColumn + ( int column ) + + + sizeHintForColumn + sizeHintForColumn + ( int column ) + + + sortByColumn + sortByColumn + ( int column, Qt::SortOrder order ) + + + verticalOffset + verticalOffset + () + + + visualRect + visualRect + ( const QModelIndex & index ) + + + visualRegionForSelection + visualRegionForSelection + ( const QItemSelection & selection ) + + + isItemExpanded + isItemExpanded + ( const QTreeWidgetItem * item ) + + + isItemHidden + isItemHidden + ( const QTreeWidgetItem * item ) + + + isItemSelected + isItemSelected + ( const QTreeWidgetItem * item ) + + + items + items + ( const QMimeData * data ) + + + setItemExpanded + setItemExpanded + ( const QTreeWidgetItem * item, bool expand ) + + + setItemHidden + setItemHidden + ( const QTreeWidgetItem * item, bool hide ) + + + setItemSelected + setItemSelected + ( const QTreeWidgetItem * item, bool select ) + + + + QTreeWidget + qtreewidget.html + + QTreeWidget + QTreeWidget + ( QWidget * parent = 0 ) + + + addTopLevelItem + addTopLevelItem + ( QTreeWidgetItem * item ) + + + addTopLevelItems + addTopLevelItems + ( const QList<QTreeWidgetItem *> & items ) + + + clear + clear + () + + + closePersistentEditor + closePersistentEditor + ( QTreeWidgetItem * item, int column = 0 ) + + + collapseItem + collapseItem + ( const QTreeWidgetItem * item ) + + + currentColumn + currentColumn + () + + + currentItem + currentItem + () + + + currentItemChanged + currentItemChanged + ( QTreeWidgetItem * current, QTreeWidgetItem * previous ) + + + dropMimeData + dropMimeData + ( QTreeWidgetItem * parent, int index, const QMimeData * data, Qt::DropAction action ) + + + editItem + editItem + ( QTreeWidgetItem * item, int column = 0 ) + + + expandItem + expandItem + ( const QTreeWidgetItem * item ) + + + findItems + findItems + ( const QString & text, Qt::MatchFlags flags, int column = 0 ) + + + headerItem + headerItem + () + + + indexFromItem + indexFromItem + ( QTreeWidgetItem * item, int column = 0 ) + + + indexOfTopLevelItem + indexOfTopLevelItem + ( QTreeWidgetItem * item ) + + + insertTopLevelItem + insertTopLevelItem + ( int index, QTreeWidgetItem * item ) + + + insertTopLevelItems + insertTopLevelItems + ( int index, const QList<QTreeWidgetItem *> & items ) + + + invisibleRootItem + invisibleRootItem + () + + + isFirstItemColumnSpanned + isFirstItemColumnSpanned + ( const QTreeWidgetItem * item ) + + + itemAbove + itemAbove + ( const QTreeWidgetItem * item ) + + + itemActivated + itemActivated + ( QTreeWidgetItem * item, int column ) + + + itemAt + itemAt + ( const QPoint & p ) + + + itemAt + itemAt-2 + ( int x, int y ) + + + itemBelow + itemBelow + ( const QTreeWidgetItem * item ) + + + itemChanged + itemChanged + ( QTreeWidgetItem * item, int column ) + + + itemClicked + itemClicked + ( QTreeWidgetItem * item, int column ) + + + itemCollapsed + itemCollapsed + ( QTreeWidgetItem * item ) + + + itemDoubleClicked + itemDoubleClicked + ( QTreeWidgetItem * item, int column ) + + + itemEntered + itemEntered + ( QTreeWidgetItem * item, int column ) + + + itemExpanded + itemExpanded + ( QTreeWidgetItem * item ) + + + itemFromIndex + itemFromIndex + ( const QModelIndex & index ) + + + itemPressed + itemPressed + ( QTreeWidgetItem * item, int column ) + + + itemSelectionChanged + itemSelectionChanged + () + + + itemWidget + itemWidget + ( QTreeWidgetItem * item, int column ) + + + mimeData + mimeData + ( const QList<QTreeWidgetItem *> items ) + + + mimeTypes + mimeTypes + () + + + openPersistentEditor + openPersistentEditor + ( QTreeWidgetItem * item, int column = 0 ) + + + removeItemWidget + removeItemWidget + ( QTreeWidgetItem * item, int column ) + + + scrollToItem + scrollToItem + ( const QTreeWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible ) + + + selectedItems + selectedItems + () + + + setCurrentItem + setCurrentItem + ( QTreeWidgetItem * item ) + + + setCurrentItem + setCurrentItem-2 + ( QTreeWidgetItem * item, int column ) + + + setFirstItemColumnSpanned + setFirstItemColumnSpanned + ( const QTreeWidgetItem * item, bool span ) + + + setHeaderItem + setHeaderItem + ( QTreeWidgetItem * item ) + + + setHeaderLabel + setHeaderLabel + ( const QString & label ) + + + setHeaderLabels + setHeaderLabels + ( const QStringList & labels ) + + + setItemWidget + setItemWidget + ( QTreeWidgetItem * item, int column, QWidget * widget ) + + + sortColumn + sortColumn + () + + + sortItems + sortItems + ( int column, Qt::SortOrder order ) + + + DropActions + supportedDropActions + QTreeWidget::supportedDropActions() + + + takeTopLevelItem + takeTopLevelItem + ( int index ) + + + topLevelItem + topLevelItem + ( int index ) + + + visualItemRect + visualItemRect + ( const QTreeWidgetItem * item ) + + + backgroundColor + backgroundColor + ( int column ) + + + setBackgroundColor + setBackgroundColor + ( int column, const QColor & color ) + + + setTextColor + setTextColor + ( int column, const QColor & color ) + + + textColor + textColor + ( int column ) + + + + QTreeWidgetItem + qtreewidgetitem.html + + ChildIndicatorPolicy + ChildIndicatorPolicy-enum + + + + ItemType + ItemType-enum + + + + QTreeWidgetItem + QTreeWidgetItem + ( int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-2 + ( const QStringList & strings, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-3 + ( QTreeWidget * parent, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-4 + ( QTreeWidget * parent, const QStringList & strings, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-5 + ( QTreeWidget * parent, QTreeWidgetItem * preceding, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-6 + ( QTreeWidgetItem * parent, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-7 + ( QTreeWidgetItem * parent, const QStringList & strings, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-8 + ( QTreeWidgetItem * parent, QTreeWidgetItem * preceding, int type = Type ) + + + QTreeWidgetItem + QTreeWidgetItem-9 + ( const QTreeWidgetItem & other ) + + + addChild + addChild + ( QTreeWidgetItem * child ) + + + addChildren + addChildren + ( const QList<QTreeWidgetItem *> & children ) + + + background + background + ( int column ) + + + CheckState + checkState + QTreeWidgetItem::checkState( int column ) + + + child + child + ( int index ) + + + childCount + childCount + () + + + ChildIndicatorPolicy + childIndicatorPolicy + QTreeWidgetItem::childIndicatorPolicy() + + + clone + clone + () + + + columnCount + columnCount + () + + + data + data + ( int column, int role ) + + + ItemFlags + flags + QTreeWidgetItem::flags() + + + font + font + ( int column ) + + + foreground + foreground + ( int column ) + + + icon + icon + ( int column ) + + + indexOfChild + indexOfChild + ( QTreeWidgetItem * child ) + + + insertChild + insertChild + ( int index, QTreeWidgetItem * child ) + + + insertChildren + insertChildren + ( int index, const QList<QTreeWidgetItem *> & children ) + + + isDisabled + isDisabled + () + + + isExpanded + isExpanded + () + + + isFirstColumnSpanned + isFirstColumnSpanned + () + + + isHidden + isHidden + () + + + isSelected + isSelected + () + + + parent + parent + () + + + read + read + ( QDataStream & in ) + + + removeChild + removeChild + ( QTreeWidgetItem * child ) + + + setBackground + setBackground + ( int column, const QBrush & brush ) + + + setCheckState + setCheckState + ( int column, Qt::CheckState state ) + + + setChildIndicatorPolicy + setChildIndicatorPolicy + ( QTreeWidgetItem::ChildIndicatorPolicy policy ) + + + setData + setData + ( int column, int role, const QVariant & value ) + + + setDisabled + setDisabled + ( bool disabled ) + + + setExpanded + setExpanded + ( bool expand ) + + + setFirstColumnSpanned + setFirstColumnSpanned + ( bool span ) + + + setFlags + setFlags + ( Qt::ItemFlags flags ) + + + setFont + setFont + ( int column, const QFont & font ) + + + setForeground + setForeground + ( int column, const QBrush & brush ) + + + setHidden + setHidden + ( bool hide ) + + + setIcon + setIcon + ( int column, const QIcon & icon ) + + + setSelected + setSelected + ( bool select ) + + + setSizeHint + setSizeHint + ( int column, const QSize & size ) + + + setStatusTip + setStatusTip + ( int column, const QString & statusTip ) + + + setText + setText + ( int column, const QString & text ) + + + setTextAlignment + setTextAlignment + ( int column, int alignment ) + + + setToolTip + setToolTip + ( int column, const QString & toolTip ) + + + setWhatsThis + setWhatsThis + ( int column, const QString & whatsThis ) + + + sizeHint + sizeHint + ( int column ) + + + sortChildren + sortChildren + ( int column, Qt::SortOrder order ) + + + statusTip + statusTip + ( int column ) + + + takeChild + takeChild + ( int index ) + + + takeChildren + takeChildren + () + + + text + text + ( int column ) + + + textAlignment + textAlignment + ( int column ) + + + toolTip + toolTip + ( int column ) + + + treeWidget + treeWidget + () + + + type + type + () + + + whatsThis + whatsThis + ( int column ) + + + write + write + ( QDataStream & out ) + + + operator< + operator-lt + ( const QTreeWidgetItem & other ) + + + operator= + operator-eq + ( const QTreeWidgetItem & other ) + + + + QTreeWidgetItemIterator + qtreewidgetitemiterator.html + + QTreeWidgetItemIterator + QTreeWidgetItemIterator + ( const QTreeWidgetItemIterator & it ) + + + QTreeWidgetItemIterator + QTreeWidgetItemIterator-2 + ( QTreeWidget * widget, IteratorFlags flags = All ) + + + QTreeWidgetItemIterator + QTreeWidgetItemIterator-3 + ( QTreeWidgetItem * item, IteratorFlags flags = All ) + + + operator* + operator-2a + () + + + operator++ + operator-2b-2b + () + + + operator++ + operator-2b-2b-2 + ( int ) + + + operator+= + operator-2b-eq + ( int n ) + + + operator-- + operator-- + () + + + operator-- + operator---2 + ( int ) + + + operator-= + operator--eq + ( int n ) + + + operator= + operator-eq + ( const QTreeWidgetItemIterator & it ) + + + + QUdpSocket + qudpsocket.html + + QUdpSocket + QUdpSocket + ( QObject * parent = 0 ) + + + bind + bind + ( const QHostAddress & address, quint16 port ) + + + bind + bind-2 + ( const QHostAddress & address, quint16 port, BindMode mode ) + + + bind + bind-3 + ( quint16 port = 0 ) + + + bind + bind-4 + ( quint16 port, BindMode mode ) + + + hasPendingDatagrams + hasPendingDatagrams + () + + + pendingDatagramSize + pendingDatagramSize + () + + + readDatagram + readDatagram + ( char * data, qint64 maxSize, QHostAddress * address = 0, quint16 * port = 0 ) + + + writeDatagram + writeDatagram + ( const char * data, qint64 size, const QHostAddress & address, quint16 port ) + + + writeDatagram + writeDatagram-2 + ( const QByteArray & datagram, const QHostAddress & host, quint16 port ) + + + + QUiLoader + quiloader.html + + QUiLoader + QUiLoader + ( QObject * parent = 0 ) + + + addPluginPath + addPluginPath + ( const QString & path ) + + + availableWidgets + availableWidgets + () + + + clearPluginPaths + clearPluginPaths + () + + + createAction + createAction + ( QObject * parent = 0, const QString & name = QString() + + + createActionGroup + createActionGroup + ( QObject * parent = 0, const QString & name = QString() + + + createLayout + createLayout + ( const QString & className, QObject * parent = 0, const QString & name = QString() + + + createWidget + createWidget + ( const QString & className, QWidget * parent = 0, const QString & name = QString() + + + load + load + ( QIODevice * device, QWidget * parentWidget = 0 ) + + + pluginPaths + pluginPaths + () + + + setWorkingDirectory + setWorkingDirectory + ( const QDir & dir ) + + + workingDirectory + workingDirectory + () + + + + QUndoCommand + qundocommand.html + + QUndoCommand + QUndoCommand + ( QUndoCommand * parent = 0 ) + + + QUndoCommand + QUndoCommand-2 + ( const QString & text, QUndoCommand * parent = 0 ) + + + id + id + () + + + mergeWith + mergeWith + ( const QUndoCommand * command ) + + + redo + redo + () + + + setText + setText + ( const QString & text ) + + + text + text + () + + + undo + undo + () + + + + QUndoGroup + qundogroup.html + + QUndoGroup + QUndoGroup + ( QObject * parent = 0 ) + + + activeStack + activeStack + () + + + activeStackChanged + activeStackChanged + ( QUndoStack * stack ) + + + addStack + addStack + ( QUndoStack * stack ) + + + canRedo + canRedo + () + + + canRedoChanged + canRedoChanged + ( bool canRedo ) + + + canUndo + canUndo + () + + + canUndoChanged + canUndoChanged + ( bool canUndo ) + + + cleanChanged + cleanChanged + ( bool clean ) + + + createRedoAction + createRedoAction + ( QObject * parent, const QString & prefix = QString() + + + createUndoAction + createUndoAction + ( QObject * parent, const QString & prefix = QString() + + + indexChanged + indexChanged + ( int idx ) + + + isClean + isClean + () + + + redo + redo + () + + + redoText + redoText + () + + + redoTextChanged + redoTextChanged + ( const QString & redoText ) + + + removeStack + removeStack + ( QUndoStack * stack ) + + + setActiveStack + setActiveStack + ( QUndoStack * stack ) + + + stacks + stacks + () + + + undo + undo + () + + + undoText + undoText + () + + + undoTextChanged + undoTextChanged + ( const QString & undoText ) + + + + QUndoStack + qundostack.html + + QUndoStack + QUndoStack + ( QObject * parent = 0 ) + + + beginMacro + beginMacro + ( const QString & text ) + + + canRedo + canRedo + () + + + canRedoChanged + canRedoChanged + ( bool canUndo ) + + + canUndo + canUndo + () + + + canUndoChanged + canUndoChanged + ( bool canUndo ) + + + cleanChanged + cleanChanged + ( bool clean ) + + + cleanIndex + cleanIndex + () + + + clear + clear + () + + + count + count + () + + + createRedoAction + createRedoAction + ( QObject * parent, const QString & prefix = QString() + + + createUndoAction + createUndoAction + ( QObject * parent, const QString & prefix = QString() + + + endMacro + endMacro + () + + + index + index + () + + + indexChanged + indexChanged + ( int idx ) + + + isClean + isClean + () + + + push + push + ( QUndoCommand * cmd ) + + + redo + redo + () + + + redoText + redoText + () + + + redoTextChanged + redoTextChanged + ( const QString & redoText ) + + + setClean + setClean + () + + + setIndex + setIndex + ( int idx ) + + + text + text + ( int idx ) + + + undo + undo + () + + + undoText + undoText + () + + + undoTextChanged + undoTextChanged + ( const QString & undoText ) + + + + QUndoView + qundoview.html + + QUndoView + QUndoView + ( QWidget * parent = 0 ) + + + QUndoView + QUndoView-2 + ( QUndoStack * stack, QWidget * parent = 0 ) + + + QUndoView + QUndoView-3 + ( QUndoGroup * group, QWidget * parent = 0 ) + + + group + group + () + + + setGroup + setGroup + ( QUndoGroup * group ) + + + setStack + setStack + ( QUndoStack * stack ) + + + stack + stack + () + + + fromPunycode + fromPunycode + ( const QByteArray & pc ) + + + toPunycode + toPunycode + ( const QString & uc ) + + + addPath + addPath + ( const QString & p ) + + + cdUp + cdUp + () + + + decode + decode + ( QString & url ) + + + dirPath + dirPath + () + + + encode + encode + ( QString & url ) + + + fileName + fileName + () + + + hasHost + hasHost + () + + + hasPassword + hasPassword + () + + + hasPath + hasPath + () + + + hasPort + hasPort + () + + + hasRef + hasRef + () + + + hasUser + hasUser + () + + + isRelativeUrl + isRelativeUrl + ( const QString & url ) + + + protocol + protocol + () + + + query + query + () + + + ref + ref + () + + + reset + reset + () + + + setFileName + setFileName + ( const QString & txt ) + + + setProtocol + setProtocol + ( const QString & s ) + + + setQuery + setQuery + ( const QString & txt ) + + + setRef + setRef + ( const QString & txt ) + + + setUser + setUser + ( const QString & s ) + + + user + user + () + + + operator + operator-QString + QString() + + + + QUrl + qurl.html + + DataPtr + DataPtr-typedef + + + + ParsingMode + ParsingMode-enum + + + + QUrl + QUrl + () + + + QUrl + QUrl-2 + ( const QString & url ) + + + QUrl + QUrl-3 + ( const QUrl & other ) + + + QUrl + QUrl-4 + ( const QString & url, ParsingMode parsingMode ) + + + addQueryItem + addQueryItem + ( const QString & key, const QString & value ) + + + allQueryItemValues + allQueryItemValues + ( const QString & key ) + + + authority + authority + () + + + clear + clear + () + + + data_ptr + data_ptr + () + + + encodedQuery + encodedQuery + () + + + errorString + errorString + () + + + fragment + fragment + () + + + fromAce + fromAce + ( const QByteArray & domain ) + + + fromEncoded + fromEncoded + ( const QByteArray & input ) + + + fromEncoded + fromEncoded-2 + ( const QByteArray & input, ParsingMode parsingMode ) + + + fromLocalFile + fromLocalFile + ( const QString & localFile ) + + + fromPercentEncoding + fromPercentEncoding + ( const QByteArray & input ) + + + hasFragment + hasFragment + () + + + hasQuery + hasQuery + () + + + hasQueryItem + hasQueryItem + ( const QString & key ) + + + host + host + () + + + idnWhitelist + idnWhitelist + () + + + isEmpty + isEmpty + () + + + isParentOf + isParentOf + ( const QUrl & childUrl ) + + + isRelative + isRelative + () + + + isValid + isValid + () + + + password + password + () + + + path + path + () + + + port + port + () + + + port + port-2 + ( int defaultPort ) + + + queryItemValue + queryItemValue + ( const QString & key ) + + + queryItems + queryItems + () + + + queryPairDelimiter + queryPairDelimiter + () + + + queryValueDelimiter + queryValueDelimiter + () + + + removeAllQueryItems + removeAllQueryItems + ( const QString & key ) + + + removeQueryItem + removeQueryItem + ( const QString & key ) + + + resolved + resolved + ( const QUrl & relative ) + + + scheme + scheme + () + + + setAuthority + setAuthority + ( const QString & authority ) + + + setEncodedQuery + setEncodedQuery + ( const QByteArray & query ) + + + setEncodedUrl + setEncodedUrl + ( const QByteArray & encodedUrl ) + + + setEncodedUrl + setEncodedUrl-2 + ( const QByteArray & encodedUrl, ParsingMode parsingMode ) + + + setFragment + setFragment + ( const QString & fragment ) + + + setHost + setHost + ( const QString & host ) + + + setIdnWhitelist + setIdnWhitelist + ( const QStringList & list ) + + + setPassword + setPassword + ( const QString & password ) + + + setPath + setPath + ( const QString & path ) + + + setPort + setPort + ( int port ) + + + setQueryDelimiters + setQueryDelimiters + ( char valueDelimiter, char pairDelimiter ) + + + setQueryItems + setQueryItems + ( const QList<QPair<QString, QString> > & query ) + + + setScheme + setScheme + ( const QString & scheme ) + + + setUrl + setUrl + ( const QString & url ) + + + setUrl + setUrl-2 + ( const QString & url, ParsingMode parsingMode ) + + + setUserInfo + setUserInfo + ( const QString & userInfo ) + + + setUserName + setUserName + ( const QString & userName ) + + + toAce + toAce + ( const QString & domain ) + + + toEncoded + toEncoded + ( FormattingOptions options = None ) + + + toLocalFile + toLocalFile + () + + + toPercentEncoding + toPercentEncoding + ( const QString & input, const QByteArray & exclude = QByteArray() + + + toString + toString + ( FormattingOptions options = None ) + + + userInfo + userInfo + () + + + userName + userName + () + + + operator!= + operator-not-eq + ( const QUrl & url ) + + + operator= + operator-eq + ( const QUrl & url ) + + + operator= + operator-eq-2 + ( const QString & url ) + + + operator== + operator-eq-eq + ( const QUrl & url ) + + + addPath + addPath + ( const QString & p ) + + + cdUp + cdUp + () + + + decode + decode + ( QString & url ) + + + dirPath + dirPath + () + + + encode + encode + ( QString & url ) + + + fileName + fileName + () + + + hasHost + hasHost + () + + + hasPassword + hasPassword + () + + + hasPath + hasPath + () + + + hasPort + hasPort + () + + + hasRef + hasRef + () + + + hasUser + hasUser + () + + + isRelativeUrl + isRelativeUrl + ( const QString & url ) + + + protocol + protocol + () + + + query + query + () + + + ref + ref + () + + + reset + reset + () + + + setFileName + setFileName + ( const QString & txt ) + + + setProtocol + setProtocol + ( const QString & s ) + + + setQuery + setQuery + ( const QString & txt ) + + + setRef + setRef + ( const QString & txt ) + + + setUser + setUser + ( const QString & s ) + + + user + user + () + + + operator + operator-QString + QString() + + + + QUrlInfo + qurlinfo.html + + PermissionSpec + PermissionSpec-enum + + + + QUrlInfo + QUrlInfo + () + + + QUrlInfo + QUrlInfo-2 + ( const QUrlInfo & ui ) + + + QUrlInfo + QUrlInfo-3 + ( const QString & name, int permissions, const QString & owner, const QString & group, qint64 size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable ) + + + QUrlInfo + QUrlInfo-4 + ( const QUrl & url, int permissions, const QString & owner, const QString & group, qint64 size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable ) + + + equal + equal + ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy ) + + + greaterThan + greaterThan + ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy ) + + + group + group + () + + + isDir + isDir + () + + + isExecutable + isExecutable + () + + + isFile + isFile + () + + + isReadable + isReadable + () + + + isSymLink + isSymLink + () + + + isValid + isValid + () + + + isWritable + isWritable + () + + + lastModified + lastModified + () + + + lastRead + lastRead + () + + + lessThan + lessThan + ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy ) + + + name + name + () + + + owner + owner + () + + + permissions + permissions + () + + + setDir + setDir + ( bool b ) + + + setFile + setFile + ( bool b ) + + + setGroup + setGroup + ( const QString & s ) + + + setLastModified + setLastModified + ( const QDateTime & dt ) + + + setName + setName + ( const QString & name ) + + + setOwner + setOwner + ( const QString & s ) + + + setPermissions + setPermissions + ( int p ) + + + setReadable + setReadable + ( bool b ) + + + setSize + setSize + ( qint64 size ) + + + setSymLink + setSymLink + ( bool b ) + + + setWritable + setWritable + ( bool b ) + + + size + size + () + + + operator!= + operator-not-eq + ( const QUrlInfo & other ) + + + operator= + operator-eq + ( const QUrlInfo & ui ) + + + operator== + operator-eq-eq + ( const QUrlInfo & other ) + + + + QUuid + quuid.html + + Variant + Variant-enum + + + + Version + Version-enum + + + + QUuid + QUuid + () + + + QUuid + QUuid-2 + ( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) + + + QUuid + QUuid-3 + ( const QString & text ) + + + QUuid + QUuid-5 + ( const GUID & guid ) + + + createUuid + createUuid + () + + + isNull + isNull + () + + + toString + toString + () + + + Variant + variant + QUuid::variant() + + + Version + version + QUuid::version() + + + operator + operator-GUID + GUID() + + + operator + operator-QString + QString() + + + operator!= + operator-not-eq + ( const QUuid & other ) + + + operator!= + operator-not-eq-2 + ( const GUID & guid ) + + + operator< + operator-lt + ( const QUuid & other ) + + + operator= + operator-eq + ( const GUID & guid ) + + + operator== + operator-eq-eq + ( const QUuid & other ) + + + operator== + operator-eq-eq-2 + ( const GUID & guid ) + + + operator> + operator-gt + ( const QUuid & other ) + + + QValidator + QValidator-2 + ( QObject * parent, const char * name ) + + + + QValidator + qvalidator.html + + State + State-enum + + + + QValidator + QValidator + ( QObject * parent ) + + + fixup + fixup + ( QString & input ) + + + locale + locale + () + + + setLocale + setLocale + ( const QLocale & locale ) + + + validate + validate + ( QString & input, int & pos ) + + + QValidator + QValidator-2 + ( QObject * parent, const char * name ) + + + QVariant + QVariant-36 + ( bool b, int dummy ) + + + asBitArray + asBitArray + () + + + asBool + asBool + () + + + asByteArray + asByteArray + () + + + asCString + asCString + () + + + asDate + asDate + () + + + asDateTime + asDateTime + () + + + asDouble + asDouble + () + + + asInt + asInt + () + + + asList + asList + () + + + asLongLong + asLongLong + () + + + asMap + asMap + () + + + asPoint + asPoint + () + + + asRect + asRect + () + + + asSize + asSize + () + + + asString + asString + () + + + asStringList + asStringList + () + + + asTime + asTime + () + + + asUInt + asUInt + () + + + asULongLong + asULongLong + () + + + canCast + canCast + ( Type t ) + + + cast + cast + ( Type t ) + + + toCString + toCString + () + + + + QVariant + qvariant.html + + DataPtr + DataPtr-typedef + + + + Type + Type-enum + + + + QVariant + QVariant + () + + + QVariant + QVariant-2 + ( Type type ) + + + QVariant + QVariant-3 + ( int typeOrUserType, const void * copy ) + + + QVariant + QVariant-4 + ( const QVariant & p ) + + + QVariant + QVariant-5 + ( QDataStream & s ) + + + QVariant + QVariant-6 + ( int val ) + + + QVariant + QVariant-7 + ( uint val ) + + + QVariant + QVariant-8 + ( qlonglong val ) + + + QVariant + QVariant-9 + ( qulonglong val ) + + + QVariant + QVariant-10 + ( bool val ) + + + QVariant + QVariant-11 + ( double val ) + + + QVariant + QVariant-12 + ( const char * val ) + + + QVariant + QVariant-13 + ( const QByteArray & val ) + + + QVariant + QVariant-14 + ( const QBitArray & val ) + + + QVariant + QVariant-15 + ( const QString & val ) + + + QVariant + QVariant-16 + ( const QLatin1String & val ) + + + QVariant + QVariant-17 + ( const QStringList & val ) + + + QVariant + QVariant-18 + ( const QChar & c ) + + + QVariant + QVariant-19 + ( const QDate & val ) + + + QVariant + QVariant-20 + ( const QTime & val ) + + + QVariant + QVariant-21 + ( const QDateTime & val ) + + + QVariant + QVariant-22 + ( const QList<QVariant> & val ) + + + QVariant + QVariant-23 + ( const QMap<QString, QVariant> & val ) + + + QVariant + QVariant-24 + ( const QSize & val ) + + + QVariant + QVariant-25 + ( const QSizeF & val ) + + + QVariant + QVariant-26 + ( const QPoint & val ) + + + QVariant + QVariant-27 + ( const QPointF & val ) + + + QVariant + QVariant-28 + ( const QLine & val ) + + + QVariant + QVariant-29 + ( const QLineF & val ) + + + QVariant + QVariant-30 + ( const QRect & val ) + + + QVariant + QVariant-31 + ( const QRectF & val ) + + + QVariant + QVariant-32 + ( const QUrl & val ) + + + QVariant + QVariant-33 + ( const QLocale & l ) + + + QVariant + QVariant-34 + ( const QRegExp & regExp ) + + + QVariant + QVariant-35 + ( Qt::GlobalColor color ) + + + canConvert + canConvert + ( Type t ) + + + canConvert + canConvert-2 + () + + + clear + clear + () + + + convert + convert + ( Type t ) + + + data_ptr + data_ptr + () + + + fromValue + fromValue + ( const T & value ) + + + isNull + isNull + () + + + isValid + isValid + () + + + nameToType + nameToType + ( const char * name ) + + + setValue + setValue + ( const T & value ) + + + toBitArray + toBitArray + () + + + toBool + toBool + () + + + toByteArray + toByteArray + () + + + toChar + toChar + () + + + toDate + toDate + () + + + toDateTime + toDateTime + () + + + toDouble + toDouble + ( bool * ok = 0 ) + + + toInt + toInt + ( bool * ok = 0 ) + + + toLine + toLine + () + + + toLineF + toLineF + () + + + toList + toList + () + + + toLocale + toLocale + () + + + toLongLong + toLongLong + ( bool * ok = 0 ) + + + toMap + toMap + () + + + toPoint + toPoint + () + + + toPointF + toPointF + () + + + toRect + toRect + () + + + toRectF + toRectF + () + + + toRegExp + toRegExp + () + + + toSize + toSize + () + + + toSizeF + toSizeF + () + + + toString + toString + () + + + toStringList + toStringList + () + + + toTime + toTime + () + + + toUInt + toUInt + ( bool * ok = 0 ) + + + toULongLong + toULongLong + ( bool * ok = 0 ) + + + toUrl + toUrl + () + + + type + type + () + + + typeName + typeName + () + + + typeToName + typeToName + ( Type typ ) + + + userType + userType + () + + + value + value + () + + + operator!= + operator-not-eq + ( const QVariant & v ) + + + operator= + operator-eq + ( const QVariant & variant ) + + + operator== + operator-eq-eq + ( const QVariant & v ) + + + QVariant + QVariant-36 + ( bool b, int dummy ) + + + asBitArray + asBitArray + () + + + asBool + asBool + () + + + asByteArray + asByteArray + () + + + asCString + asCString + () + + + asDate + asDate + () + + + asDateTime + asDateTime + () + + + asDouble + asDouble + () + + + asInt + asInt + () + + + asList + asList + () + + + asLongLong + asLongLong + () + + + asMap + asMap + () + + + asPoint + asPoint + () + + + asRect + asRect + () + + + asSize + asSize + () + + + asString + asString + () + + + asStringList + asStringList + () + + + asTime + asTime + () + + + asUInt + asUInt + () + + + asULongLong + asULongLong + () + + + canCast + canCast + ( Type t ) + + + cast + cast + ( Type t ) + + + toCString + toCString + () + + + + QVarLengthArray + qvarlengtharray.html + + QVarLengthArray + QVarLengthArray + ( int size = 0 ) + + + QVarLengthArray + QVarLengthArray-2 + ( const QVarLengthArray<T, Prealloc> & other ) + + + append + append + ( const T & t ) + + + append + append-2 + ( const T * buf, int size ) + + + capacity + capacity + () + + + clear + clear + () + + + constData + constData + () + + + count + count + () + + + data + data + () + + + data + data-2 + () + + + isEmpty + isEmpty + () + + + reserve + reserve + ( int size ) + + + resize + resize + ( int size ) + + + size + size + () + + + operator= + operator-eq + ( const QVarLengthArray<T, Prealloc> & other ) + + + operator[] + operator-5b-5d + ( int i ) + + + operator[] + operator-5b-5d-2 + ( int i ) + + + QVBoxLayout + QVBoxLayout-3 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QVBoxLayout + QVBoxLayout-4 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QVBoxLayout + QVBoxLayout-5 + ( int spacing, const char * name = 0 ) + + + + QVBoxLayout + qvboxlayout.html + + QVBoxLayout + QVBoxLayout + () + + + QVBoxLayout + QVBoxLayout-2 + ( QWidget * parent ) + + + QVBoxLayout + QVBoxLayout-3 + ( QWidget * parent, int margin, int spacing = -1, const char * name = 0 ) + + + QVBoxLayout + QVBoxLayout-4 + ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) + + + QVBoxLayout + QVBoxLayout-5 + ( int spacing, const char * name = 0 ) + + + + QVector + qvector.html + + ConstIterator + ConstIterator-typedef + + + + Iterator + Iterator-typedef + + + + const_iterator + const_iterator-typedef + + + + const_pointer + const_pointer-typedef + + + + const_reference + const_reference-typedef + + + + difference_type + difference_type-typedef + + + + iterator + iterator-typedefx + + + + pointer + pointer-typedef + + + + reference + reference-typedef + + + + size_type + size_type-typedef + + + + value_type + value_type-typedef + + + + QVector + QVector + () + + + QVector + QVector-2 + ( int size ) + + + QVector + QVector-3 + ( int size, const T & value ) + + + QVector + QVector-4 + ( const QVector<T> & other ) + + + append + append + ( const T & value ) + + + at + at + ( int i ) + + + back + back + () + + + back + back-2 + () + + + begin + begin + () + + + begin + begin-2 + () + + + capacity + capacity + () + + + clear + clear + () + + + constBegin + constBegin + () + + + constData + constData + () + + + constEnd + constEnd + () + + + contains + contains + ( const T & value ) + + + count + count + ( const T & value ) + + + count + count-2 + () + + + data + data + () + + + data + data-2 + () + + + empty + empty + () + + + end + end + () + + + end + end-2 + () + + + erase + erase + ( iterator pos ) + + + erase + erase-2 + ( iterator begin, iterator end ) + + + fill + fill + ( const T & value, int size = -1 ) + + + first + first + () + + + first + first-2 + () + + + fromList + fromList + ( const QList<T> & list ) + + + fromStdVector + fromStdVector + ( const std::vector<T> & vector ) + + + front + front + () + + + front + front-2 + () + + + indexOf + indexOf + ( const T & value, int from = 0 ) + + + insert + insert + ( int i, const T & value ) + + + insert + insert-2 + ( iterator before, int count, const T & value ) + + + insert + insert-3 + ( int i, int count, const T & value ) + + + insert + insert-4 + ( iterator before, const T & value ) + + + isEmpty + isEmpty + () + + + last + last + () + + + last + last-2 + () + + + lastIndexOf + lastIndexOf + ( const T & value, int from = -1 ) + + + mid + mid + ( int pos, int length = -1 ) + + + pop_back + pop_back + () + + + pop_front + pop_front + () + + + prepend + prepend + ( const T & value ) + + + push_back + push_back + ( const T & value ) + + + push_front + push_front + ( const T & value ) + + + remove + remove + ( int i ) + + + remove + remove-2 + ( int i, int count ) + + + replace + replace + ( int i, const T & value ) + + + reserve + reserve + ( int size ) + + + resize + resize + ( int size ) + + + size + size + () + + + squeeze + squeeze + () + + + toList + toList + () + + + vector + toStdVector + <T> QVector::toStdVector() + + + value + value + ( int i ) + + + value + value-2 + ( int i, const T & defaultValue ) + + + operator!= + operator-not-eq + ( const QVector<T> & other ) + + + operator+ + operator-2b + ( const QVector<T> & other ) + + + operator+= + operator-2b-eq + ( const QVector<T> & other ) + + + operator+= + operator-2b-eq-2 + ( const T & value ) + + + operator<< + operator-lt-lt + ( const T & value ) + + + operator<< + operator-lt-lt-2 + ( const QVector<T> & other ) + + + operator= + operator-eq + ( const QVector<T> & other ) + + + operator== + operator-eq-eq + ( const QVector<T> & other ) + + + operator[] + operator-5b-5d + ( int i ) + + + operator[] + operator-5b-5d-2 + ( int i ) + + + + QVectorIterator + qvectoriterator.html + + QVectorIterator + QVectorIterator + ( const QVector<T> & vector ) + + + findNext + findNext + ( const T & value ) + + + findPrevious + findPrevious + ( const T & value ) + + + hasNext + hasNext + () + + + hasPrevious + hasPrevious + () + + + next + next + () + + + peekNext + peekNext + () + + + peekPrevious + peekPrevious + () + + + previous + previous + () + + + toBack + toBack + () + + + toFront + toFront + () + + + operator= + operator-eq + ( const QVector<T> & vector ) + + + + QVNCScreen + qvncscreen.html + + QVNCScreen + QVNCScreen + ( int displayId ) + + + + QWaitCondition + qwaitcondition.html + + QWaitCondition + QWaitCondition + () + + + wait + wait + ( QMutex * mutex, unsigned long time = ULONG_MAX ) + + + wakeAll + wakeAll + () + + + wakeOne + wakeOne + () + + + add + add + ( QWidget * w, const QString & s ) + + + remove + remove + ( QWidget * w ) + + + whatsThisButton + whatsThisButton + ( QWidget * parent ) + + + + QWhatsThis + qwhatsthis.html + + createAction + createAction + ( QObject * parent = 0 ) + + + enterWhatsThisMode + enterWhatsThisMode + () + + + hideText + hideText + () + + + inWhatsThisMode + inWhatsThisMode + () + + + leaveWhatsThisMode + leaveWhatsThisMode + () + + + showText + showText + ( const QPoint & pos, const QString & text, QWidget * w = 0 ) + + + add + add + ( QWidget * w, const QString & s ) + + + remove + remove + ( QWidget * w ) + + + whatsThisButton + whatsThisButton + ( QWidget * parent ) + + + + QWhatsThisClickedEvent + qwhatsthisclickedevent.html + + QWhatsThisClickedEvent + QWhatsThisClickedEvent + ( const QString & href ) + + + href + href + () + + + QWheelEvent + QWheelEvent-3 + ( const QPoint & pos, int delta, int state, Qt::Orientation orient = Qt::Vertical ) + + + QWheelEvent + QWheelEvent-4 + ( const QPoint & pos, const QPoint & globalPos, int delta, int state, Qt::Orientation orient = Qt::Vertical ) + + + ButtonState + state + QWheelEvent::state() + + + + QWheelEvent + qwheelevent.html + + QWheelEvent + QWheelEvent + ( const QPoint & pos, int delta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient = Qt::Vertical ) + + + QWheelEvent + QWheelEvent-2 + ( const QPoint & pos, const QPoint & globalPos, int delta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient = Qt::Vertical ) + + + MouseButtons + buttons + QWheelEvent::buttons() + + + delta + delta + () + + + globalPos + globalPos + () + + + globalX + globalX + () + + + globalY + globalY + () + + + Orientation + orientation + QWheelEvent::orientation() + + + pos + pos + () + + + x + x + () + + + y + y + () + + + QWheelEvent + QWheelEvent-3 + ( const QPoint & pos, int delta, int state, Qt::Orientation orient = Qt::Vertical ) + + + QWheelEvent + QWheelEvent-4 + ( const QPoint & pos, const QPoint & globalPos, int delta, int state, Qt::Orientation orient = Qt::Vertical ) + + + ButtonState + state + QWheelEvent::state() + + + isEnabledToTLW + isEnabledToTLW + () + + + isTopLevel + isTopLevel + () + + + languageChange + languageChange + () + + + topLevelWidget + topLevelWidget + () + + + BackgroundOrigin + BackgroundOrigin-enum + + + + QWidget + QWidget-3 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + BackgroundMode + backgroundMode + QWidget::backgroundMode() + + + backgroundOffset + backgroundOffset + () + + + backgroundOrigin + backgroundOrigin + () + + + caption + caption + () + + + childAt + childAt-2 + ( int x, int y, bool includeThis ) + + + childAt + childAt-3 + ( const QPoint & p, bool includeThis ) + + + close + close-2 + ( bool alsoDelete ) + + + colorGroup + colorGroup + () + + + constPolish + constPolish + () + + + drawText + drawText + ( const QPoint & p, const QString & s ) + + + drawText + drawText-2 + ( int x, int y, const QString & s ) + + + erase + erase + () + + + erase + erase-2 + ( int x, int y, int w, int h ) + + + erase + erase-3 + ( const QRect & rect ) + + + erase + erase-4 + ( const QRegion & rgn ) + + + hasMouse + hasMouse + () + + + icon + icon + () + + + iconText + iconText + () + + + iconify + iconify + () + + + isDesktop + isDesktop + () + + + isDialog + isDialog + () + + + isInputMethodEnabled + isInputMethodEnabled + () + + + isPopup + isPopup + () + + + isShown + isShown + () + + + isUpdatesEnabled + isUpdatesEnabled + () + + + isVisibleToTLW + isVisibleToTLW + () + + + ownCursor + ownCursor + () + + + ownFont + ownFont + () + + + ownPalette + ownPalette + () + + + parentWidget + parentWidget-2 + ( bool sameWindow ) + + + polish + polish + () + + + recreate + recreate + ( QWidget * parent, Qt::WindowFlags f, const QPoint & p, bool showIt = false ) + + + repaint + repaint-2 + ( bool b ) + + + repaint + repaint-3 + ( int x, int y, int w, int h, bool b ) + + + repaint + repaint-4 + ( const QRect & r, bool b ) + + + repaint + repaint-5 + ( const QRegion & rgn, bool b ) + + + reparent + reparent + ( QWidget * parent, Qt::WindowFlags f, const QPoint & p, bool showIt = false ) + + + reparent + reparent-2 + ( QWidget * parent, const QPoint & p, bool showIt = false ) + + + setActiveWindow + setActiveWindow + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setBackgroundMode + setBackgroundMode + ( Qt::BackgroundMode widgetBackground, Qt::BackgroundMode paletteBackground = Qt::PaletteBackground ) + + + setBackgroundOrigin + setBackgroundOrigin + ( BackgroundOrigin background ) + + + setBackgroundPixmap + setBackgroundPixmap + ( const QPixmap & pixmap ) + + + setCaption + setCaption + ( const QString & c ) + + + setEraseColor + setEraseColor + ( const QColor & color ) + + + setErasePixmap + setErasePixmap + ( const QPixmap & pixmap ) + + + setFont + setFont-2 + ( const QFont & f, bool b ) + + + setIcon + setIcon + ( const QPixmap & i ) + + + setIconText + setIconText + ( const QString & it ) + + + setInputMethodEnabled + setInputMethodEnabled + ( bool enabled ) + + + setKeyCompression + setKeyCompression + ( bool b ) + + + setPalette + setPalette-2 + ( const QPalette & p, bool b ) + + + setPaletteBackgroundColor + setPaletteBackgroundColor + ( const QColor & color ) + + + setPaletteBackgroundPixmap + setPaletteBackgroundPixmap + ( const QPixmap & pixmap ) + + + setPaletteForegroundColor + setPaletteForegroundColor + ( const QColor & color ) + + + setShown + setShown + ( bool shown ) + + + setSizePolicy + setSizePolicy-2 + ( QSizePolicy::Policy hor, QSizePolicy::Policy ver, bool hfw ) + + + setStyle + setStyle-2 + ( const QString & style ) + + + unsetFont + unsetFont + () + + + unsetPalette + unsetPalette + () + + + visibleRect + visibleRect + () + + + wmapper + wmapper + () + + + + QWidget + qwidget.html + + ContextMenuPolicy + contextMenuPolicy-prop + + + + FocusPolicy + focusPolicy-prop + + + + LayoutDirection + layoutDirection-prop + + + + WindowFlags + windowFlags-prop + + + + WindowModality + windowModality-prop + + + + QWidget + QWidget + ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) + + + actionEvent + actionEvent + ( QActionEvent * event ) + + + actions + actions + () + + + activateWindow + activateWindow + () + + + addAction + addAction + ( QAction * action ) + + + addActions + addActions + ( QList<QAction *> actions ) + + + adjustSize + adjustSize + () + + + ColorRole + backgroundRole + QWidget::backgroundRole() + + + changeEvent + changeEvent + ( QEvent * event ) + + + childAt + childAt + ( int x, int y ) + + + childAt + childAt-4 + ( const QPoint & p ) + + + clearFocus + clearFocus + () + + + clearMask + clearMask + () + + + close + close + () + + + closeEvent + closeEvent + ( QCloseEvent * event ) + + + contentsRect + contentsRect + () + + + contextMenuEvent + contextMenuEvent + ( QContextMenuEvent * event ) + + + create + create + ( WId window = 0, bool initializeWindow = true, bool destroyOldWindow = true ) + + + customContextMenuRequested + customContextMenuRequested + ( const QPoint & pos ) + + + destroy + destroy + ( bool destroyWindow = true, bool destroySubWindows = true ) + + + dragEnterEvent + dragEnterEvent + ( QDragEnterEvent * event ) + + + dragLeaveEvent + dragLeaveEvent + ( QDragLeaveEvent * event ) + + + dragMoveEvent + dragMoveEvent + ( QDragMoveEvent * event ) + + + dropEvent + dropEvent + ( QDropEvent * event ) + + + ensurePolished + ensurePolished + () + + + enterEvent + enterEvent + ( QEvent * event ) + + + event + event + ( QEvent * event ) + + + find + find + ( WId id ) + + + focusInEvent + focusInEvent + ( QFocusEvent * event ) + + + focusNextChild + focusNextChild + () + + + focusNextPrevChild + focusNextPrevChild + ( bool next ) + + + focusOutEvent + focusOutEvent + ( QFocusEvent * event ) + + + focusPreviousChild + focusPreviousChild + () + + + focusProxy + focusProxy + () + + + focusWidget + focusWidget + () + + + fontInfo + fontInfo + () + + + fontMetrics + fontMetrics + () + + + ColorRole + foregroundRole + QWidget::foregroundRole() + + + getContentsMargins + getContentsMargins + ( int * left, int * top, int * right, int * bottom ) + + + getDC + getDC + () + + + grabKeyboard + grabKeyboard + () + + + grabMouse + grabMouse + () + + + grabMouse + grabMouse-2 + ( const QCursor & cursor ) + + + grabShortcut + grabShortcut + ( const QKeySequence & key, Qt::ShortcutContext context = Qt::WindowShortcut ) + + + hasEditFocus + hasEditFocus + () + + + heightForWidth + heightForWidth + ( int w ) + + + hide + hide + () + + + hideEvent + hideEvent + ( QHideEvent * event ) + + + inputContext + inputContext + () + + + inputMethodEvent + inputMethodEvent + ( QInputMethodEvent * event ) + + + inputMethodQuery + inputMethodQuery + ( Qt::InputMethodQuery query ) + + + insertAction + insertAction + ( QAction * before, QAction * action ) + + + insertActions + insertActions + ( QAction * before, QList<QAction *> actions ) + + + isAncestorOf + isAncestorOf + ( const QWidget * child ) + + + isEnabledTo + isEnabledTo + ( QWidget * ancestor ) + + + isHidden + isHidden + () + + + isVisibleTo + isVisibleTo + ( QWidget * ancestor ) + + + isWindow + isWindow + () + + + keyPressEvent + keyPressEvent + ( QKeyEvent * event ) + + + keyReleaseEvent + keyReleaseEvent + ( QKeyEvent * event ) + + + keyboardGrabber + keyboardGrabber + () + + + layout + layout + () + + + leaveEvent + leaveEvent + ( QEvent * event ) + + + lower + lower + () + + + HANDLE + macCGHandle + QWidget::macCGHandle() + + + macEvent + macEvent + ( EventHandlerCallRef caller, EventRef event ) + + + HANDLE + macQDHandle + QWidget::macQDHandle() + + + mapFrom + mapFrom + ( QWidget * parent, const QPoint & pos ) + + + mapFromGlobal + mapFromGlobal + ( const QPoint & pos ) + + + mapFromParent + mapFromParent + ( const QPoint & pos ) + + + mapTo + mapTo + ( QWidget * parent, const QPoint & pos ) + + + mapToGlobal + mapToGlobal + ( const QPoint & pos ) + + + mapToParent + mapToParent + ( const QPoint & pos ) + + + mask + mask + () + + + metric + metric + ( PaintDeviceMetric m ) + + + mouseDoubleClickEvent + mouseDoubleClickEvent + ( QMouseEvent * event ) + + + mouseGrabber + mouseGrabber + () + + + mouseMoveEvent + mouseMoveEvent + ( QMouseEvent * event ) + + + mousePressEvent + mousePressEvent + ( QMouseEvent * event ) + + + mouseReleaseEvent + mouseReleaseEvent + ( QMouseEvent * event ) + + + moveEvent + moveEvent + ( QMoveEvent * event ) + + + nextInFocusChain + nextInFocusChain + () + + + overrideWindowFlags + overrideWindowFlags + ( Qt::WindowFlags flags ) + + + paintEngine + paintEngine + () + + + paintEvent + paintEvent + ( QPaintEvent * event ) + + + parentWidget + parentWidget + () + + + qwsEvent + qwsEvent + ( QWSEvent * event ) + + + raise + raise + () + + + releaseDC + releaseDC + ( HDC hdc ) + + + releaseKeyboard + releaseKeyboard + () + + + releaseMouse + releaseMouse + () + + + releaseShortcut + releaseShortcut + ( int id ) + + + removeAction + removeAction + ( QAction * action ) + + + render + render + ( QPaintDevice * target, const QPoint & targetOffset = QPoint() + + + repaint + repaint + () + + + repaint + repaint-6 + ( int x, int y, int w, int h ) + + + repaint + repaint-7 + ( const QRect & r ) + + + repaint + repaint-8 + ( const QRegion & rgn ) + + + resetInputContext + resetInputContext + () + + + resizeEvent + resizeEvent + ( QResizeEvent * event ) + + + restoreGeometry + restoreGeometry + ( const QByteArray & geometry ) + + + saveGeometry + saveGeometry + () + + + scroll + scroll + ( int dx, int dy ) + + + scroll + scroll-2 + ( int dx, int dy, const QRect & r ) + + + setAttribute + setAttribute + ( Qt::WidgetAttribute attribute, bool on = true ) + + + setBackgroundRole + setBackgroundRole + ( QPalette::ColorRole role ) + + + setContentsMargins + setContentsMargins + ( int left, int top, int right, int bottom ) + + + setDisabled + setDisabled + ( bool disable ) + + + setEditFocus + setEditFocus + ( bool enable ) + + + setFixedHeight + setFixedHeight + ( int h ) + + + setFixedSize + setFixedSize + ( const QSize & s ) + + + setFixedSize + setFixedSize-2 + ( int w, int h ) + + + setFixedWidth + setFixedWidth + ( int w ) + + + setFocus + setFocus + ( Qt::FocusReason reason ) + + + setFocus + setFocus-2 + () + + + setFocusProxy + setFocusProxy + ( QWidget * w ) + + + setForegroundRole + setForegroundRole + ( QPalette::ColorRole role ) + + + setHidden + setHidden + ( bool hidden ) + + + setInputContext + setInputContext + ( QInputContext * context ) + + + setLayout + setLayout + ( QLayout * layout ) + + + setMask + setMask + ( const QBitmap & bitmap ) + + + setMask + setMask-2 + ( const QRegion & region ) + + + setParent + setParent + ( QWidget * parent ) + + + setParent + setParent-2 + ( QWidget * parent, Qt::WindowFlags f ) + + + setShortcutAutoRepeat + setShortcutAutoRepeat + ( int id, bool enable = true ) + + + setShortcutEnabled + setShortcutEnabled + ( int id, bool enable = true ) + + + setStyle + setStyle + ( QStyle * style ) + + + setTabOrder + setTabOrder + ( QWidget * first, QWidget * second ) + + + setWindowRole + setWindowRole + ( const QString & role ) + + + setWindowState + setWindowState + ( Qt::WindowStates windowState ) + + + setWindowSurface + setWindowSurface + ( QWindowSurface * surface ) + + + show + show + () + + + showEvent + showEvent + ( QShowEvent * event ) + + + showFullScreen + showFullScreen + () + + + showMaximized + showMaximized + () + + + showMinimized + showMinimized + () + + + showNormal + showNormal + () + + + stackUnder + stackUnder + ( QWidget * w ) + + + style + style + () + + + tabletEvent + tabletEvent + ( QTabletEvent * event ) + + + testAttribute + testAttribute + ( Qt::WidgetAttribute attribute ) + + + underMouse + underMouse + () + + + update + update + () + + + update + update-2 + ( int x, int y, int w, int h ) + + + update + update-3 + ( const QRect & r ) + + + update + update-4 + ( const QRegion & rgn ) + + + updateGeometry + updateGeometry + () + + + updateMicroFocus + updateMicroFocus + () + + + visibleRegion + visibleRegion + () + + + wheelEvent + wheelEvent + ( QWheelEvent * event ) + + + winEvent + winEvent + ( MSG * message, long * result ) + + + winId + winId + () + + + window + window + () + + + windowRole + windowRole + () + + + WindowStates + windowState + QWidget::windowState() + + + windowSurface + windowSurface + () + + + WindowType + windowType + QWidget::windowType() + + + x11Event + x11Event + ( XEvent * event ) + + + x11Info + x11Info + () + + + HANDLE + x11PictureHandle + QWidget::x11PictureHandle() + + + BackgroundOrigin + BackgroundOrigin-enum + + + + QWidget + QWidget-3 + ( QWidget * parent, const char * name, Qt::WindowFlags f = 0 ) + + + BackgroundMode + backgroundMode + QWidget::backgroundMode() + + + backgroundOffset + backgroundOffset + () + + + backgroundOrigin + backgroundOrigin + () + + + caption + caption + () + + + childAt + childAt-2 + ( int x, int y, bool includeThis ) + + + childAt + childAt-3 + ( const QPoint & p, bool includeThis ) + + + close + close-2 + ( bool alsoDelete ) + + + colorGroup + colorGroup + () + + + constPolish + constPolish + () + + + drawText + drawText + ( const QPoint & p, const QString & s ) + + + drawText + drawText-2 + ( int x, int y, const QString & s ) + + + erase + erase + () + + + erase + erase-2 + ( int x, int y, int w, int h ) + + + erase + erase-3 + ( const QRect & rect ) + + + erase + erase-4 + ( const QRegion & rgn ) + + + hasMouse + hasMouse + () + + + icon + icon + () + + + iconText + iconText + () + + + iconify + iconify + () + + + isDesktop + isDesktop + () + + + isDialog + isDialog + () + + + isInputMethodEnabled + isInputMethodEnabled + () + + + isPopup + isPopup + () + + + isShown + isShown + () + + + isUpdatesEnabled + isUpdatesEnabled + () + + + isVisibleToTLW + isVisibleToTLW + () + + + ownCursor + ownCursor + () + + + ownFont + ownFont + () + + + ownPalette + ownPalette + () + + + parentWidget + parentWidget-2 + ( bool sameWindow ) + + + polish + polish + () + + + recreate + recreate + ( QWidget * parent, Qt::WindowFlags f, const QPoint & p, bool showIt = false ) + + + repaint + repaint-2 + ( bool b ) + + + repaint + repaint-3 + ( int x, int y, int w, int h, bool b ) + + + repaint + repaint-4 + ( const QRect & r, bool b ) + + + repaint + repaint-5 + ( const QRegion & rgn, bool b ) + + + reparent + reparent + ( QWidget * parent, Qt::WindowFlags f, const QPoint & p, bool showIt = false ) + + + reparent + reparent-2 + ( QWidget * parent, const QPoint & p, bool showIt = false ) + + + setActiveWindow + setActiveWindow + () + + + setBackgroundColor + setBackgroundColor + ( const QColor & color ) + + + setBackgroundMode + setBackgroundMode + ( Qt::BackgroundMode widgetBackground, Qt::BackgroundMode paletteBackground = Qt::PaletteBackground ) + + + setBackgroundOrigin + setBackgroundOrigin + ( BackgroundOrigin background ) + + + setBackgroundPixmap + setBackgroundPixmap + ( const QPixmap & pixmap ) + + + setCaption + setCaption + ( const QString & c ) + + + setEraseColor + setEraseColor + ( const QColor & color ) + + + setErasePixmap + setErasePixmap + ( const QPixmap & pixmap ) + + + setFont + setFont-2 + ( const QFont & f, bool b ) + + + setIcon + setIcon + ( const QPixmap & i ) + + + setIconText + setIconText + ( const QString & it ) + + + setInputMethodEnabled + setInputMethodEnabled + ( bool enabled ) + + + setKeyCompression + setKeyCompression + ( bool b ) + + + setPalette + setPalette-2 + ( const QPalette & p, bool b ) + + + setPaletteBackgroundColor + setPaletteBackgroundColor + ( const QColor & color ) + + + setPaletteBackgroundPixmap + setPaletteBackgroundPixmap + ( const QPixmap & pixmap ) + + + setPaletteForegroundColor + setPaletteForegroundColor + ( const QColor & color ) + + + setShown + setShown + ( bool shown ) + + + setSizePolicy + setSizePolicy-2 + ( QSizePolicy::Policy hor, QSizePolicy::Policy ver, bool hfw ) + + + setStyle + setStyle-2 + ( const QString & style ) + + + unsetFont + unsetFont + () + + + unsetPalette + unsetPalette + () + + + visibleRect + visibleRect + () + + + wmapper + wmapper + () + + + + QWidgetAction + qwidgetaction.html + + QWidgetAction + QWidgetAction + ( QObject * parent ) + + + createWidget + createWidget + ( QWidget * parent ) + + + createdWidgets + createdWidgets + () + + + defaultWidget + defaultWidget + () + + + deleteWidget + deleteWidget + ( QWidget * widget ) + + + releaseWidget + releaseWidget + ( QWidget * widget ) + + + requestWidget + requestWidget + ( QWidget * parent ) + + + setDefaultWidget + setDefaultWidget + ( QWidget * widget ) + + + + QWidgetItem + qwidgetitem.html + + QWidgetItem + QWidgetItem + ( QWidget * widget ) + + + isEmpty + isEmpty + () + + + widget + widget + () + + + + QWindowsMime + qwindowsmime.html + + QWindowsMime + QWindowsMime + () + + + canConvertFromMime + canConvertFromMime + ( const FORMATETC & formatetc, const QMimeData * mimeData ) + + + canConvertToMime + canConvertToMime + ( const QString & mimeType, IDataObject * pDataObj ) + + + convertFromMime + convertFromMime + ( const FORMATETC & formatetc, const QMimeData * mimeData, STGMEDIUM * pmedium ) + + + convertToMime + convertToMime + ( const QString & mimeType, IDataObject * pDataObj, QVariant::Type preferredType ) + + + formatsForMime + formatsForMime + ( const QString & mimeType, const QMimeData * mimeData ) + + + mimeForFormat + mimeForFormat + ( const FORMATETC & formatetc ) + + + registerMimeType + registerMimeType + ( const QString & mime ) + + + + QWindowsStyle + qwindowsstyle.html + + QWindowsStyle + QWindowsStyle + () + + + + QWindowStateChangeEvent + qwindowstatechangeevent.html + + WindowStates + oldState + QWindowStateChangeEvent::oldState() + + + + QWindowsVistaStyle + qwindowsvistastyle.html + + QWindowsVistaStyle + QWindowsVistaStyle + () + + + + QWindowsXPStyle + qwindowsxpstyle.html + + QWindowsXPStyle + QWindowsXPStyle + () + + + + QWizard + qwizard.html + + WizardButton + WizardButton-enum + + + + WizardPixmap + WizardPixmap-enum + + + + WizardStyle + WizardStyle-enum + + + + TextFormat + subTitleFormat-prop + + + + TextFormat + titleFormat-prop + + + + QWizard + QWizard + ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) + + + addPage + addPage + ( QWizardPage * page ) + + + back + back + () + + + button + button + ( WizardButton which ) + + + buttonText + buttonText + ( WizardButton which ) + + + cleanupPage + cleanupPage + ( int id ) + + + currentIdChanged + currentIdChanged + ( int id ) + + + currentPage + currentPage + () + + + customButtonClicked + customButtonClicked + ( int which ) + + + field + field + ( const QString & name ) + + + hasVisitedPage + hasVisitedPage + ( int id ) + + + helpRequested + helpRequested + () + + + initializePage + initializePage + ( int id ) + + + next + next + () + + + nextId + nextId + () + + + page + page + ( int id ) + + + pixmap + pixmap + ( WizardPixmap which ) + + + restart + restart + () + + + setButton + setButton + ( WizardButton which, QAbstractButton * button ) + + + setButtonLayout + setButtonLayout + ( const QList<WizardButton> & layout ) + + + setButtonText + setButtonText + ( WizardButton which, const QString & text ) + + + setDefaultProperty + setDefaultProperty + ( const char * className, const char * property, const char * changedSignal ) + + + setField + setField + ( const QString & name, const QVariant & value ) + + + setOption + setOption + ( WizardOption option, bool on = true ) + + + setPage + setPage + ( int id, QWizardPage * page ) + + + setPixmap + setPixmap + ( WizardPixmap which, const QPixmap & pixmap ) + + + testOption + testOption + ( WizardOption option ) + + + validateCurrentPage + validateCurrentPage + () + + + visitedPages + visitedPages + () + + + + QWizardPage + qwizardpage.html + + QWizardPage + QWizardPage + ( QWidget * parent = 0 ) + + + buttonText + buttonText + ( QWizard::WizardButton which ) + + + cleanupPage + cleanupPage + () + + + completeChanged + completeChanged + () + + + field + field + ( const QString & name ) + + + initializePage + initializePage + () + + + isCommitPage + isCommitPage + () + + + isComplete + isComplete + () + + + isFinalPage + isFinalPage + () + + + nextId + nextId + () + + + pixmap + pixmap + ( QWizard::WizardPixmap which ) + + + registerField + registerField + ( const QString & name, QWidget * widget, const char * property = 0, const char * changedSignal = 0 ) + + + setButtonText + setButtonText + ( QWizard::WizardButton which, const QString & text ) + + + setCommitPage + setCommitPage + ( bool commitPage ) + + + setField + setField + ( const QString & name, const QVariant & value ) + + + setFinalPage + setFinalPage + ( bool finalPage ) + + + setPixmap + setPixmap + ( QWizard::WizardPixmap which, const QPixmap & pixmap ) + + + validatePage + validatePage + () + + + wizard + wizard + () + + + QWorkspace + QWorkspace-2 + ( QWidget * parent, const char * name ) + + + setPaletteBackgroundColor + setPaletteBackgroundColor + ( const QColor & c ) + + + setPaletteBackgroundPixmap + setPaletteBackgroundPixmap + ( const QPixmap & pm ) + + + + QWorkspace + qworkspace.html + + WindowOrder + WindowOrder-enum + + + + QWorkspace + QWorkspace + ( QWidget * parent = 0 ) + + + activateNextWindow + activateNextWindow + () + + + activatePreviousWindow + activatePreviousWindow + () + + + activeWindow + activeWindow + () + + + addWindow + addWindow + ( QWidget * w, Qt::WindowFlags flags = 0 ) + + + arrangeIcons + arrangeIcons + () + + + cascade + cascade + () + + + closeActiveWindow + closeActiveWindow + () + + + closeAllWindows + closeAllWindows + () + + + setActiveWindow + setActiveWindow + ( QWidget * w ) + + + tile + tile + () + + + windowActivated + windowActivated + ( QWidget * w ) + + + windowList + windowList + ( WindowOrder order = CreationOrder ) + + + QWorkspace + QWorkspace-2 + ( QWidget * parent, const char * name ) + + + setPaletteBackgroundColor + setPaletteBackgroundColor + ( const QColor & c ) + + + setPaletteBackgroundPixmap + setPaletteBackgroundPixmap + ( const QPixmap & pm ) + + + + QWriteLocker + qwritelocker.html + + QWriteLocker + QWriteLocker + ( QReadWriteLock * lock ) + + + readWriteLock + readWriteLock + () + + + relock + relock + () + + + unlock + unlock + () + + + + QWSCalibratedMouseHandler + qwscalibratedmousehandler.html + + calibrate + calibrate + ( const QWSPointerCalibrationData * data ) + + + clearCalibration + clearCalibration + () + + + readCalibration + readCalibration + () + + + sendFiltered + sendFiltered + ( const QPoint & position, int state ) + + + setFilterSize + setFilterSize + ( int size ) + + + transform + transform + ( const QPoint & position ) + + + writeCalibration + writeCalibration + () + + + + QWSClient + qwsclient.html + + clientId + clientId + () + + + identity + identity + () + + + + QWSEmbedWidget + qwsembedwidget.html + + QWSEmbedWidget + QWSEmbedWidget + ( WId id, QWidget * parent = 0 ) + + + + QWSEvent + qwsevent.html + + Type + Type-enum + + + + + QWSGLWindowSurface + qwsglwindowsurface.html + + QWSGLWindowSurface + QWSGLWindowSurface + ( QWidget * window ) + + + QWSGLWindowSurface + QWSGLWindowSurface-2 + () + + + context + context + () + + + setContext + setContext + ( QGLContext * context ) + + + sendIMEvent + sendIMEvent + ( QWSServer::IMState state, const QString & text, int cursorPosition, int selectionLength = 0 ) + + + + QWSInputMethod + qwsinputmethod.html + + UpdateType + UpdateType-enum + + + + QWSInputMethod + QWSInputMethod + () + + + filter + filter + ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) + + + filter + filter-2 + ( const QPoint & position, int state, int wheel ) + + + inputResolutionShift + inputResolutionShift + () + + + mouseHandler + mouseHandler + ( int offset, int state ) + + + queryResponse + queryResponse + ( int property, const QVariant & result ) + + + reset + reset + () + + + sendCommitString + sendCommitString + ( const QString & commitString, int replaceFromPosition = 0, int replaceLength = 0 ) + + + sendEvent + sendEvent + ( const QInputMethodEvent * event ) + + + sendMouseEvent + sendMouseEvent + ( const QPoint & position, int state, int wheel ) + + + sendPreeditString + sendPreeditString + ( const QString & preeditString, int cursorPosition, int selectionLength = 0 ) + + + sendQuery + sendQuery + ( int property ) + + + setInputResolution + setInputResolution + ( bool isHigh ) + + + updateHandler + updateHandler + ( int type ) + + + + QWSKeyboardHandler + qwskeyboardhandler.html + + QWSKeyboardHandler + QWSKeyboardHandler + () + + + beginAutoRepeat + beginAutoRepeat + ( int unicode, int keycode, Qt::KeyboardModifiers modifier ) + + + endAutoRepeat + endAutoRepeat + () + + + processKeyEvent + processKeyEvent + ( int unicode, int keycode, Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat ) + + + transformDirKey + transformDirKey + ( int keycode ) + + + + QWSMouseHandler + qwsmousehandler.html + + QWSMouseHandler + QWSMouseHandler + ( const QString & driver = QString() + + + calibrate + calibrate + ( const QWSPointerCalibrationData * data ) + + + clearCalibration + clearCalibration + () + + + limitToScreen + limitToScreen + ( QPoint & position ) + + + mouseChanged + mouseChanged + ( const QPoint & position, int state, int wheel = 0 ) + + + pos + pos + () + + + resume + resume + () + + + setScreen + setScreen + ( const QScreen * screen ) + + + suspend + suspend + () + + + + QWSPointerCalibrationData + qwspointercalibrationdata.html + + Location + Location-enum + + + + devPoints + devPoints-var + [5] + + + screenPoints + screenPoints-var + [5] + + + + QWSScreenSaver + qwsscreensaver.html + + restore + restore + () + + + save + save + ( int level ) + + + + QWSServer::KeyboardFilter + qwsserver-keyboardfilter.html + + filter + filter + ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) + + + IMState + IMState-enum + + + + QWSServer + QWSServer-2 + ( int flags, QObject * parent, const char * name ) + + + setDesktopBackground + setDesktopBackground + ( const QImage & image ) + + + setDesktopBackground + setDesktopBackground-2 + ( const QColor & color ) + + + + QWSServer + qwsserver.html + + IMMouse + IMMouse-enum + + + + WindowEvent + WindowEvent-enum + + + + addKeyboardFilter + addKeyboardFilter + ( KeyboardFilter * filter ) + + + backgroundBrush + backgroundBrush + () + + + clientWindows + clientWindows + () + + + closeKeyboard + closeKeyboard + () + + + closeMouse + closeMouse + () + + + enablePainting + enablePainting + ( bool enable ) + + + instance + instance + () + + + isCursorVisible + isCursorVisible + () + + + keyboardHandler + keyboardHandler + () + + + markedText + markedText + ( const QString & selection ) + + + mouseHandler + mouseHandler + () + + + newChannel + newChannel + ( const QString & channel ) + + + openKeyboard + openKeyboard + () + + + openMouse + openMouse + () + + + processKeyEvent + processKeyEvent + ( int unicode, int keycode, Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat ) + + + refresh + refresh + () + + + refresh + refresh-2 + ( QRegion & region ) + + + removeKeyboardFilter + removeKeyboardFilter + () + + + removedChannel + removedChannel + ( const QString & channel ) + + + resumeMouse + resumeMouse + () + + + screenSaverActivate + screenSaverActivate + ( bool activate ) + + + screenSaverActive + screenSaverActive + () + + + sendIMEvent + sendIMEvent + ( const QInputMethodEvent * event ) + + + sendIMQuery + sendIMQuery + ( int property ) + + + sendKeyEvent + sendKeyEvent + ( int unicode, int keycode, Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat ) + + + setBackground + setBackground + ( const QBrush & brush ) + + + setCurrentInputMethod + setCurrentInputMethod + ( QWSInputMethod * method ) + + + setCursorVisible + setCursorVisible + ( bool visible ) + + + setDefaultKeyboard + setDefaultKeyboard + ( const char * keyboardDriver ) + + + setDefaultMouse + setDefaultMouse + ( const char * mouseDriver ) + + + setKeyboardHandler + setKeyboardHandler + ( QWSKeyboardHandler * driver ) + + + setMaxWindowRect + setMaxWindowRect + ( const QRect & rectangle ) + + + setMouseHandler + setMouseHandler + ( QWSMouseHandler * driver ) + + + setScreenSaver + setScreenSaver + ( QWSScreenSaver * screenSaver ) + + + setScreenSaverBlockLevel + setScreenSaverBlockLevel + ( int eventBlockLevel ) + + + setScreenSaverInterval + setScreenSaverInterval + ( int milliseconds ) + + + setScreenSaverIntervals + setScreenSaverIntervals + ( int * intervals ) + + + suspendMouse + suspendMouse + () + + + timerEvent + timerEvent + ( QTimerEvent * e ) + + + windowAt + windowAt + ( const QPoint & position ) + + + windowEvent + windowEvent + ( QWSWindow * window, QWSServer::WindowEvent eventType ) + + + QWSServer + QWSServer-2 + ( int flags, QObject * parent, const char * name ) + + + setDesktopBackground + setDesktopBackground + ( const QImage & image ) + + + setDesktopBackground + setDesktopBackground-2 + ( const QColor & color ) + + + + QWSWindow + qwswindow.html + + State + State-enum + + + + caption + caption + () + + + client + client + () + + + dirtyOnScreen + dirtyOnScreen + () + + + isFullyObscured + isFullyObscured + () + + + isOpaque + isOpaque + () + + + isVisible + isVisible + () + + + name + name + () + + + opacity + opacity + () + + + requestedRegion + requestedRegion + () + + + state + state + () + + + winId + winId + () + + + WindowFlags + windowFlags + QWSWindow::windowFlags() + + + + QX11EmbedContainer + qx11embedcontainer.html + + Error + Error-enum + + + + QX11EmbedContainer + QX11EmbedContainer + ( QWidget * parent = 0 ) + + + clientClosed + clientClosed + () + + + clientIsEmbedded + clientIsEmbedded + () + + + clientWinId + clientWinId + () + + + discardClient + discardClient + () + + + embedClient + embedClient + ( WId id ) + + + error + error + () + + + error + error-2 + ( QX11EmbedContainer::Error error ) + + + + QX11EmbedWidget + qx11embedwidget.html + + Error + Error-enum + + + + QX11EmbedWidget + QX11EmbedWidget + ( QWidget * parent = 0 ) + + + containerClosed + containerClosed + () + + + containerWinId + containerWinId + () + + + embedInto + embedInto + ( WId id ) + + + embedded + embedded + () + + + error + error + () + + + error + error-2 + ( QX11EmbedWidget::Error error ) + + + + QX11Info + qx11info.html + + QX11Info + QX11Info + () + + + QX11Info + QX11Info-2 + ( const QX11Info & other ) + + + appCells + appCells + ( int screen = -1 ) + + + appClass + appClass + () + + + HANDLE + appColormap + QX11Info::appColormap( int screen = -1 ) + + + appDefaultColormap + appDefaultColormap + ( int screen = -1 ) + + + appDefaultVisual + appDefaultVisual + ( int screen = -1 ) + + + appDepth + appDepth + ( int screen = -1 ) + + + appDpiX + appDpiX + ( int screen = -1 ) + + + appDpiY + appDpiY + ( int screen = -1 ) + + + HANDLE + appRootWindow + QX11Info::appRootWindow( int screen = -1 ) + + + appScreen + appScreen + () + + + appTime + appTime + () + + + appUserTime + appUserTime + () + + + appVisual + appVisual + ( int screen = -1 ) + + + cells + cells + () + + + HANDLE + colormap + QX11Info::colormap() + + + defaultColormap + defaultColormap + () + + + defaultVisual + defaultVisual + () + + + depth + depth + () + + + display + display + () + + + screen + screen + () + + + setAppDpiX + setAppDpiX + ( int screen, int xdpi ) + + + setAppDpiY + setAppDpiY + ( int screen, int ydpi ) + + + setAppTime + setAppTime + ( unsigned long time ) + + + setAppUserTime + setAppUserTime + ( unsigned long time ) + + + visual + visual + () + + + operator= + operator-eq + ( const QX11Info & other ) + + + + QXmlAttributes + qxmlattributes.html + + QXmlAttributes + QXmlAttributes + () + + + append + append + ( const QString & qName, const QString & uri, const QString & localPart, const QString & value ) + + + clear + clear + () + + + count + count + () + + + index + index + ( const QString & qName ) + + + index + index-2 + ( const QLatin1String & qName ) + + + index + index-3 + ( const QString & uri, const QString & localPart ) + + + length + length + () + + + localName + localName + ( int index ) + + + qName + qName + ( int index ) + + + type + type + ( int index ) + + + type + type-2 + ( const QString & qName ) + + + type + type-3 + ( const QString & uri, const QString & localName ) + + + uri + uri + ( int index ) + + + value + value + ( int index ) + + + value + value-2 + ( const QString & qName ) + + + value + value-3 + ( const QLatin1String & qName ) + + + value + value-4 + ( const QString & uri, const QString & localName ) + + + + QXmlContentHandler + qxmlcontenthandler.html + + characters + characters + ( const QString & ch ) + + + endDocument + endDocument + () + + + endElement + endElement + ( const QString & namespaceURI, const QString & localName, const QString & qName ) + + + endPrefixMapping + endPrefixMapping + ( const QString & prefix ) + + + errorString + errorString + () + + + ignorableWhitespace + ignorableWhitespace + ( const QString & ch ) + + + processingInstruction + processingInstruction + ( const QString & target, const QString & data ) + + + setDocumentLocator + setDocumentLocator + ( QXmlLocator * locator ) + + + skippedEntity + skippedEntity + ( const QString & name ) + + + startDocument + startDocument + () + + + startElement + startElement + ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts ) + + + startPrefixMapping + startPrefixMapping + ( const QString & prefix, const QString & uri ) + + + + QXmlDeclHandler + qxmldeclhandler.html + + attributeDecl + attributeDecl + ( const QString & eName, const QString & aName, const QString & type, const QString & valueDefault, const QString & value ) + + + errorString + errorString + () + + + externalEntityDecl + externalEntityDecl + ( const QString & name, const QString & publicId, const QString & systemId ) + + + internalEntityDecl + internalEntityDecl + ( const QString & name, const QString & value ) + + + + QXmlDefaultHandler + qxmldefaulthandler.html + + QXmlDefaultHandler + QXmlDefaultHandler + () + + + + QXmlDTDHandler + qxmldtdhandler.html + + errorString + errorString + () + + + notationDecl + notationDecl + ( const QString & name, const QString & publicId, const QString & systemId ) + + + unparsedEntityDecl + unparsedEntityDecl + ( const QString & name, const QString & publicId, const QString & systemId, const QString & notationName ) + + + + QXmlEntityResolver + qxmlentityresolver.html + + errorString + errorString + () + + + resolveEntity + resolveEntity + ( const QString & publicId, const QString & systemId, QXmlInputSource *& ret ) + + + + QXmlErrorHandler + qxmlerrorhandler.html + + error + error + ( const QXmlParseException & exception ) + + + errorString + errorString + () + + + fatalError + fatalError + ( const QXmlParseException & exception ) + + + warning + warning + ( const QXmlParseException & exception ) + + + QXmlInputSource + QXmlInputSource-3 + ( QFile & file ) + + + QXmlInputSource + QXmlInputSource-4 + ( QTextStream & stream ) + + + + QXmlInputSource + qxmlinputsource.html + + QXmlInputSource + QXmlInputSource + () + + + QXmlInputSource + QXmlInputSource-2 + ( QIODevice * dev ) + + + data + data + () + + + fetchData + fetchData + () + + + fromRawData + fromRawData + ( const QByteArray & data, bool beginning = false ) + + + next + next + () + + + reset + reset + () + + + setData + setData + ( const QString & dat ) + + + setData + setData-2 + ( const QByteArray & dat ) + + + QXmlInputSource + QXmlInputSource-3 + ( QFile & file ) + + + QXmlInputSource + QXmlInputSource-4 + ( QTextStream & stream ) + + + + QXmlLexicalHandler + qxmllexicalhandler.html + + comment + comment + ( const QString & ch ) + + + endCDATA + endCDATA + () + + + endDTD + endDTD + () + + + endEntity + endEntity + ( const QString & name ) + + + errorString + errorString + () + + + startCDATA + startCDATA + () + + + startDTD + startDTD + ( const QString & name, const QString & publicId, const QString & systemId ) + + + startEntity + startEntity + ( const QString & name ) + + + + QXmlLocator + qxmllocator.html + + QXmlLocator + QXmlLocator + () + + + columnNumber + columnNumber + () + + + lineNumber + lineNumber + () + + + + QXmlNamespaceSupport + qxmlnamespacesupport.html + + QXmlNamespaceSupport + QXmlNamespaceSupport + () + + + popContext + popContext + () + + + prefix + prefix + ( const QString & uri ) + + + prefixes + prefixes + () + + + prefixes + prefixes-2 + ( const QString & uri ) + + + processName + processName + ( const QString & qname, bool isAttribute, QString & nsuri, QString & localname ) + + + pushContext + pushContext + () + + + reset + reset + () + + + setPrefix + setPrefix + ( const QString & pre, const QString & uri ) + + + splitName + splitName + ( const QString & qname, QString & prefix, QString & localname ) + + + uri + uri + ( const QString & prefix ) + + + + QXmlParseException + qxmlparseexception.html + + QXmlParseException + QXmlParseException + ( const QString & name = QString() + + + columnNumber + columnNumber + () + + + lineNumber + lineNumber + () + + + message + message + () + + + publicId + publicId + () + + + systemId + systemId + () + + + parse + parse-2 + ( const QXmlInputSource & input ) + + + + QXmlReader + qxmlreader.html + + DTDHandler + DTDHandler + () + + + contentHandler + contentHandler + () + + + declHandler + declHandler + () + + + entityResolver + entityResolver + () + + + errorHandler + errorHandler + () + + + feature + feature + ( const QString & name, bool * ok = 0 ) + + + hasFeature + hasFeature + ( const QString & name ) + + + hasProperty + hasProperty + ( const QString & name ) + + + lexicalHandler + lexicalHandler + () + + + parse + parse + ( const QXmlInputSource * input ) + + + property + property + ( const QString & name, bool * ok = 0 ) + + + setContentHandler + setContentHandler + ( QXmlContentHandler * handler ) + + + setDTDHandler + setDTDHandler + ( QXmlDTDHandler * handler ) + + + setDeclHandler + setDeclHandler + ( QXmlDeclHandler * handler ) + + + setEntityResolver + setEntityResolver + ( QXmlEntityResolver * handler ) + + + setErrorHandler + setErrorHandler + ( QXmlErrorHandler * handler ) + + + setFeature + setFeature + ( const QString & name, bool value ) + + + setLexicalHandler + setLexicalHandler + ( QXmlLexicalHandler * handler ) + + + setProperty + setProperty + ( const QString & name, void * value ) + + + + QXmlSimpleReader + qxmlsimplereader.html + + QXmlSimpleReader + QXmlSimpleReader + () + + + parse + parse + ( const QXmlInputSource * input, bool incremental ) + + + parseContinue + parseContinue + () + + + setFeature + setFeature + ( const QString & name, bool enable ) + + + + QXmlStreamAttribute + qxmlstreamattribute.html + + QXmlStreamAttribute + QXmlStreamAttribute + () + + + QXmlStreamAttribute + QXmlStreamAttribute-2 + ( const QString & qualifiedName, const QString & value ) + + + QXmlStreamAttribute + QXmlStreamAttribute-3 + ( const QString & namespaceUri, const QString & name, const QString & value ) + + + QXmlStreamAttribute + QXmlStreamAttribute-4 + ( const QXmlStreamAttribute & other ) + + + isDefault + isDefault + () + + + name + name + () + + + namespaceUri + namespaceUrix + () + + + qualifiedName + qualifiedName + () + + + value + value + () + + + operator!= + operator-not-eq + ( const QXmlStreamAttribute & other ) + + + operator= + operator-eq + ( const QXmlStreamAttribute & other ) + + + operator== + operator-eq-eq + ( const QXmlStreamAttribute & other ) + + + + QXmlStreamAttributes + qxmlstreamattributes.html + + append + append + ( const QString & namespaceUri, const QString & name, const QString & value ) + + + append + append-2 + ( const QString & qualifiedName, const QString & value ) + + + value + value + ( const QString & namespaceUri, const QString & name ) + + + value + value-2 + ( const QString & namespaceUri, const QLatin1String & name ) + + + value + value-3 + ( const QLatin1String & namespaceUri, const QLatin1String & name ) + + + value + value-4 + ( const QString & qualifiedName ) + + + value + value-5 + ( const QLatin1String & qualifiedName ) + + + + QXmlStreamEntityDeclaration + qxmlstreamentitydeclaration.html + + QXmlStreamEntityDeclaration + QXmlStreamEntityDeclaration + () + + + QXmlStreamEntityDeclaration + QXmlStreamEntityDeclaration-2 + ( const QXmlStreamEntityDeclaration & other ) + + + name + name + () + + + notationName + notationName + () + + + publicId + publicId + () + + + systemId + systemId + () + + + value + value + () + + + operator!= + operator-not-eq + ( const QXmlStreamEntityDeclaration & other ) + + + operator= + operator-eq + ( const QXmlStreamEntityDeclaration & other ) + + + operator== + operator-eq-eq + ( const QXmlStreamEntityDeclaration & other ) + + + + QXmlStreamNamespaceDeclaration + qxmlstreamnamespacedeclaration.html + + QXmlStreamNamespaceDeclaration + QXmlStreamNamespaceDeclaration + () + + + QXmlStreamNamespaceDeclaration + QXmlStreamNamespaceDeclaration-2 + ( const QXmlStreamNamespaceDeclaration & other ) + + + namespaceUri + namespaceUrix + () + + + prefix + prefix + () + + + operator!= + operator-not-eq + ( const QXmlStreamNamespaceDeclaration & other ) + + + operator= + operator-eq + ( const QXmlStreamNamespaceDeclaration & other ) + + + operator== + operator-eq-eq + ( const QXmlStreamNamespaceDeclaration & other ) + + + + QXmlStreamNotationDeclaration + qxmlstreamnotationdeclaration.html + + QXmlStreamNotationDeclaration + QXmlStreamNotationDeclaration + () + + + QXmlStreamNotationDeclaration + QXmlStreamNotationDeclaration-2 + ( const QXmlStreamNotationDeclaration & other ) + + + name + name + () + + + publicId + publicId + () + + + systemId + systemId + () + + + operator!= + operator-not-eq + ( const QXmlStreamNotationDeclaration & other ) + + + operator= + operator-eq + ( const QXmlStreamNotationDeclaration & other ) + + + operator== + operator-eq-eq + ( const QXmlStreamNotationDeclaration & other ) + + + + QXmlStreamReader + qxmlstreamreader.html + + Error + Error-enum + + + + TokenType + TokenType-enum + + + + QXmlStreamReader + QXmlStreamReader + () + + + QXmlStreamReader + QXmlStreamReader-2 + ( QIODevice * device ) + + + QXmlStreamReader + QXmlStreamReader-3 + ( const QByteArray & data ) + + + QXmlStreamReader + QXmlStreamReader-4 + ( const QString & data ) + + + QXmlStreamReader + QXmlStreamReader-5 + ( const char * data ) + + + addData + addData + ( const QByteArray & data ) + + + addData + addData-2 + ( const QString & data ) + + + addData + addData-3 + ( const char * data ) + + + atEnd + atEnd + () + + + attributes + attributes + () + + + characterOffset + characterOffset + () + + + clear + clear + () + + + columnNumber + columnNumber + () + + + device + device + () + + + entityDeclarations + entityDeclarations + () + + + error + error + () + + + errorString + errorString + () + + + hasError + hasError + () + + + isCDATA + isCDATA + () + + + isCharacters + isCharacters + () + + + isComment + isComment + () + + + isDTD + isDTD + () + + + isEndDocument + isEndDocument + () + + + isEndElement + isEndElement + () + + + isEntityReference + isEntityReference + () + + + isProcessingInstruction + isProcessingInstruction + () + + + isStandaloneDocument + isStandaloneDocument + () + + + isStartDocument + isStartDocument + () + + + isStartElement + isStartElement + () + + + isWhitespace + isWhitespace + () + + + lineNumber + lineNumber + () + + + name + name + () + + + namespaceDeclarations + namespaceDeclarations + () + + + namespaceUri + namespaceUrix + () + + + notationDeclarations + notationDeclarations + () + + + processingInstructionData + processingInstructionData + () + + + processingInstructionTarget + processingInstructionTarget + () + + + qualifiedName + qualifiedName + () + + + raiseError + raiseError + ( const QString & message = QString() + + + readElementText + readElementText + () + + + readNext + readNext + () + + + setDevice + setDevice + ( QIODevice * device ) + + + text + text + () + + + tokenString + tokenString + () + + + tokenType + tokenType + () + + + + QXmlStreamWriter + qxmlstreamwriter.html + + QXmlStreamWriter + QXmlStreamWriter + () + + + QXmlStreamWriter + QXmlStreamWriter-2 + ( QIODevice * device ) + + + QXmlStreamWriter + QXmlStreamWriter-3 + ( QByteArray * array ) + + + QXmlStreamWriter + QXmlStreamWriter-4 + ( QString * string ) + + + codec + codec + () + + + device + device + () + + + setCodec + setCodec + ( QTextCodec * codec ) + + + setCodec + setCodec-2 + ( const char * codecName ) + + + setDevice + setDevice + ( QIODevice * device ) + + + writeAttribute + writeAttribute + ( const QString & namespaceUri, const QString & name, const QString & value ) + + + writeAttribute + writeAttribute-2 + ( const QString & qualifiedName, const QString & value ) + + + writeAttribute + writeAttribute-3 + ( const QXmlStreamAttribute & attribute ) + + + writeAttributes + writeAttributes + ( const QXmlStreamAttributes & attributes ) + + + writeCDATA + writeCDATA + ( const QString & text ) + + + writeCharacters + writeCharacters + ( const QString & text ) + + + writeComment + writeComment + ( const QString & text ) + + + writeCurrentToken + writeCurrentToken + ( const QXmlStreamReader & reader ) + + + writeDTD + writeDTD + ( const QString & dtd ) + + + writeDefaultNamespace + writeDefaultNamespace + ( const QString & namespaceUri ) + + + writeEmptyElement + writeEmptyElement + ( const QString & namespaceUri, const QString & name ) + + + writeEmptyElement + writeEmptyElement-2 + ( const QString & qualifiedName ) + + + writeEndDocument + writeEndDocument + () + + + writeEndElement + writeEndElement + () + + + writeEntityReference + writeEntityReference + ( const QString & name ) + + + writeNamespace + writeNamespace + ( const QString & namespaceUri, const QString & prefix = QString() + + + writeProcessingInstruction + writeProcessingInstruction + ( const QString & target, const QString & data = QString() + + + writeStartDocument + writeStartDocument + ( const QString & version ) + + + writeStartDocument + writeStartDocument-2 + () + + + writeStartElement + writeStartElement + ( const QString & namespaceUri, const QString & name ) + + + writeStartElement + writeStartElement-2 + ( const QString & qualifiedName ) + + + writeTextElement + writeTextElement + ( const QString & namespaceUri, const QString & name, const QString & text ) + + + writeTextElement + writeTextElement-2 + ( const QString & qualifiedName, const QString & text ) + + + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtcheckcombobox.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtcheckcombobox.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5ea20afcb1c5a06e2dc0edfe46458f3063de74 GIT binary patch literal 5058 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 literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtconfigdialog.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtconfigdialog.png new file mode 100644 index 0000000000000000000000000000000000000000..eb560f5c10b331c1609594a6b4f2a2a6ab50bd9a GIT binary patch literal 45383 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]RW01i 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

    47w92107db=!; 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 JT-xm0{{inkhnoNZ literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtgroupbox.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtgroupbox.png new file mode 100644 index 0000000000000000000000000000000000000000..b8afc7a5f51c191309e6d5003d4cbec53eb84dac GIT binary patch literal 4710 zcmZ8kbx;&s_g=a|N?-v2ms*e#L}8_2SEQC$Lg`NFE`t!HLpqmTngs-NK$pJuJ?ZRXO^0MQ|=M7FX7Vy2V>ph-LM zX-kW-Ed0CizR<}Va@p@oQq94^w=(zR69-lRfJOYwwg`0#vS&tZu9=oG!a4Wcbp0aP zKV;z#ERYDo+c@N7F1wZGV{W=3t*7|s5Yjpp01Nn(pEib6Vv~PNog|GFt3oJ?e*FV; z>NJnxs^DrOLHWG#6N_a|E1Xxbq~|o!3E8ZJen%{T;wcoPqZ{W*W}`a{%o3Vi)mD zs=W{Vi-hNNGbAQq&h1EHwjdIrhX9U;s)|e_3i=;Ge?Ek8h!9gv#?U>ae}Oj|cFc~~ zBNY-m0AhnP(y^jKMimV5X5jC5#rf!KSrJhs&@4sI{7cO-^af zj&*&H`wal2cW>mqb20g_k+F4eM)I(Tk@oBbaVdt^@x!uCl!j3$Du+oS zihv|NBtkK+^L_*{f{Z4B`}??QgJ@zZ*MR7N$SO?PSJ}VUwzoOKDFKwAqE)Tsr8S}z zs9e4Y2}k85_w7!)jwbUwExk7i5{`GF(*zHec38R4CWebrSrALJQDTslFH}Af>RQ@(|o%{0vm1fnj!qnedc3ehN z{;JISmu*Fa@mQU8->WXk(T2HnXQU;qnfrK{bEzY<-L&b|fcnoEi(i&cEig_wronx; z$sh9YhVweidPhcGGnTk`I(vT>|FG*xTV+`{+_@fC>f)L}{j_TTIsOEDlE6GQIOfzk zUDwzInQop8Z10${$bhx-^txx+)UJsNu?l7D#XjBMSqyCRH!r_@wL2xqwy?D8-nJHj zK|7c1IR`Pyn6v_0*KVP=^|yFi>s#XG4hCm}Z5+9r3$D4krchIpdtAKFizIBpzrl5n zQrXP!RSPWZ7OC0>*m^UHKjJL|JGwR>U4Gaq>`?0<`;Ha2ee=6|u^XBet;{UsnC}=l z;~|dAO3gAta{wOYspfDK>60oEw|}?OBi$L)TeXzrzM5Z-?9aC`FSF<~x3(y^pz0jz zn(Rh&4q_qQde~NV7nLFv{g=ne&*SS7=rYH%qf}yENMlj1wDmU`^y1Ew&olEgwBo*N z)T&CQHnbfrKS9aaF^@KkF}beBHWD||c+U=r4)FK;H$r^8 zHCh60hpvm+41;Y2?(r|sN9|QjX`g{MvFB{zrxkOrYtK|T3iqw!%`}xp3eCL^26Li< zO0Mm!Oa@x=Xuc$XP^nsPHhu?9-|+MoSxs7L6E#tJeCAJP_}nU0x3LgSni$!j5Td{o zex7WcJd3bLpb$AFOC>M|7W*lO75lRZLDp542NLGq1?B236-B#CBj-q}O`|Ocvlx&s z#w^C_f&U!i_%oMG&!&21baBzf5y>vet@7W*o59t=K>;@bu5uR#=+;c}zP5L;*JXX9 z8m7D@Ytq;Qm^t+9=14$cRiQ<%a3=8$AEclA`{$k*j=AdmSOa5;Eg9`I;Gc)c=N1?rTDln_FDbS=u@LqheMb@ z%n>Fy@800O({gq58tDKF$KqliM1{v5vAH}LkXH3Oztmhsu3#ZNKWIZWI&*ZMC;LzB zH=ge81c=^-Di`*)+iYb^Wt(d>UxRjHHO4N6dx!b0>1@(%qHTtU>j!27t8TlF`;$`o zj|hUb{+0!zPBwqFZr=h8i49VN2K}24y$_f-p7PA4H|@MWHVU{DyqG=ITJ+yIfiPd{C}wJZxva< zjW>u_v5tkAh@G7XfSCs9An-cY&;-5k7+5(P5=Pc1+J>2^!M-Ifq{Xvw6wd~ z?DqEd=H`Z%mzRr+>-zfI%*?E(r-zf1lb@fzySw}9>gw|H($3EA!-o$M5fL^vHs|N( zrlzK(q@)ZC43UwMw6wGf3kxeNE1sU7Dk>_Qo15$F>n~osxVX3|EiILklT%VsDk&*p zW@etAo}QeXY;A2lJ3CWVRn5)KEhs3!!^1N%G1=JIz{kfwJw4st-ezH8iHV6ZH#Zj* z6@B;a-O0(x^768dj*gd?*YWYOkdRPYTiejkkcfx~D=TYKQW6OX$^HBHjg5_uj*cuX zEh#A}t*orv+}vKieCh7)4g>n&rl#~=VH}|7Qj|>eBCnhFVS6A!n>%+st zi;9YBYHE6Wdv$en!@|OxoSd*&tfQkN6BElp}P$(LW zMk0}7Vq#rgT~t(56ciNH_bB-I_=bmvo12@*$H%Lyt2Hz0#^a_RsKtG)e*A=NIT3#0QY?;vTVN;iUrrggDBIayoaLLDnY|Is_e-3es2= zw+j@gcvVM96;H44H8_F5KB0-nFH5p9XF}b_=~d_mfXg4Zjg!}mKIGpvg6rneTM2!^ zwvG?X)QhIfS}ls!25_%lpS#r07!5UFt!!syP0rg;0Z31B_DF1 zV)rF|wA~&-(Os5RliFI_1$j|g&e>1djy{?#zgVoJD;$5uizN6~F#EFVV>EwYo4fUpN>KAfUrdrxuW_~>WBC9PZ_f`#`Y9Zi%!w0~VDZ9a z7&X{;`S5c2`Ju0oWl@jN&F0x#89?Pre0QQmn3ng&Ot2gE3yF1W> z5Qz$>gY?+=O5ZQCK(cJFPHRqL6bjcaPSX)8DrF)n3Zi=~5A7jl;s9BOM8W^hiKD(l zdG8SNuA&ld44Ti3OvUkd(u{6uq;ji09O#DY@pf9EmP*B$-_>vl#NT;~^grEwUFu*E zKXRpxyYHU`;Au>aFux3n>fo)B+OC{*9NPD~6t2T=n_oTi-74RRV3*Z(SJ_Iu^5lq& z3c93!E1F5X`7_8mKedHzNqCC-D{ZZn7L=X>qQoRILvi*3~= z2sbkQ6%XQuI+VJstb7nq&Bi(?%^mB?RWEs;9&`!WlV9=gsNAE0{5P^OtHw`ObkruL z)RAKd;?PF}6Qk7iaZcy!K_GDue4Cf{~jSH*!o;f8Q^4l^gh-BG=dVC4NyT7~(+U?^4@z-FXMl zG?G&7;w|joJEh-{tWZ)49~FAJ_$LMTUj{F-Z7AiHLLS`VY)FwYj)pmK!q|q$?NXyD z;Ezk7`2$6BX7q6jIpU?*uN}u#JaBBT9n!YT!+LNZ{oi1@x}j8`vSMP7&!L^`(T|bPCk>e} zCHn`is@O_jI&5vO0sX{EFxo+b9?9>^2}?O#4rl9H-J};;eM1mEC9)m#UyfEI6zbV5 z{*pG`3OZk=&%hlF?C^8m@X`mk&4evdDH3k`YouQuSmKFk(POJ9l zumC*xwqZY}32ovIrG66d*lOcCG&I;H_;KyVP?};$yb5je44UyDYS+^q0q$ZohBTP5 zn*AWc{M@o{^rrUFFA=ZV=d~LT841LSQ=B3e6TvDr5UH69Z?v!dn36E5-FKB~ZDATQ j4$$nH125g?{3e^OiqI>Mw3ZKd9Rr}Oq^?*YZ~Fc}Y<2}C literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtheaderview.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtheaderview.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6e4e2006f3a01d2a157ccc2c3e70724354249d GIT binary patch literal 2648 zcmV-e3a9mnP)HW;BxfVzJnxM~?^q!lzGBly=Vn0NUeg?VbPtv<>nfAiR+O z0O5uF2M90ZKR|d1_O8{8jY-7=vG}ComjAlKy~5n3xmHaK00K9^I3G)AEuH-Q*QuHs z+~P%KYV&tA<_VRxC^w8+h8%B>l*w`jtHKDsG3U8j@pwCC#$Twlvv6PW>&RTkADap|93G(QR4Bqu?x@}<{g1$a1*!N ztWe!eh%h3iQA`ktD4kBd`bvg~_7Bw3!xE858WGjHZf^~e&c2q>Ux~a#g>~6WkcsUH zl~u=STuMm3-T{vPyPLiX(A)8N+>-o8k3P&i!054rGVf4awrJm07-=LDiGoNPkxE3g z`pIf#r<|Y3SNHabMAAH*|GyX{VyejMGja+t@$ZS#Yd@6UkW@|0Z|9j%-G9txzBi+4 zs;}F2k^f!EoT7SLF){jGo*F%tu=dE@wk5KCOgN}aBNC{vxlR#^5UsCo%+1b?zdoLQ zUGjV?^g@s$Uw!oM6eO02F_H3{`PKc^(m-kJe(|%PeOAXCz~}$r6+a#)B4t;>AG&TL z(e$s*e{|<|;nTvzFS4_L$gi#yvad-*Bnrgns}J-21c|&vMg?~Ya_z)5X**L^%L|Ve zn8tD^W~@QI{Y`QHA709C*vfU&MMxmh=-ipJqv?^4?yMBnWl1rPm0P7!>FU^3cEF~8Jzd8;K>h>NX($mZ zJ}!v@5fRf!PuQbt^+yTJ5`#ldt6PI;`ugno)qd9?(SzuCV!SF;r<3($z7C)N1Jp~P zR5Dg`RE<1pAjr(%3=KAvr?~zP5MGY;zr0sw2dMu5y+9n`-$BIBe`!p*aq~uy^8tXC zlE$RsfwhyL|D&g}qo?@49I&vMpS`ry+?fGD3l!I^KkDuK{2$2=&@+7J|H5KEhvdNBk00*~E_mHKb5;P23%357GskEnod7yS;Pv00?aJ<#jjZ0`x^BV{W^FkCw;UAc z4{ndKv?P@=#(qrUCAdA5(<)A{I>mIFFhFPWegD7T`mgMM89&~~t@+%3y+_Xs0wR@8qzEBvliQyrNWL}f;`hwc@4{SQceWj2V) zjA{?vtIqoGv~e4?Bl!V(hVT6U;O0UQ z^8kR>YjyoUITE)tnyY5mfVKM<)%v~xlx8M8f_Gsq8DEk0T>a71xOAGz%U4J+Q)YFw)rE9M4 zRNIY91}?z?fdBh{SKpd$*MtBdAa}QmjsE^0?*9Ym8D0GOKL9ic^&cR-Q2znK3-uo$ zyiorE!VC2uAiPlj0mAF+moHy7Kfm{%N~KbkciH;GC)~&O+Fw^Ig43(|qwk+rKHN=U zi6xdDwbZ`#WA;Do2j3Yo@|}PGUo@GndygXRTrVWwse5$*2uLOsYxMrVSmmz!03<&^ z2aL%wIyU3(#=B=NjrQu0X#g}4w=nzu{%@>u*L@dY*^H4()9>B(yDb1{ z7HQ`?OIa`82V4JdynA-~z1#YuDMhtemDyt)90)+qXixn&nCriuSKK24%S-0N2ffW* z*M5}YD-QP{#c7y5rqg=?2vlX~adl_Q-XBYjB$C6HPHz48o&R3yzp)E2mwj{E80lnB z8~aP<26q*6K$lIp#IdZ-9p(}fhY8RY)t#-vhs*YU>6bZs{uh$(WNae?umAS^AwLOY z>_Pk%SZ*?N<9MG8@*KKX8|pu|T$9gauJ76b_sGI2j>j^NgM8>X&%6$7X8m_s(u?(< zd;HJsG`O5&a|aMFvF)31kK>a0#xVD319UiU{qL#!|C|mt0D4mKUn~Fk%aXnS^qcwg zE93Tl`~82dyZ#@j`mPZGghw0B|62x`58$pn*Z%<^AhG1g={NJ-etTyx*MEQzN+gHv zpYuE6)_;8e4L+0eXh-{9jna@Bahz2-JUo@Cva0$B)O&5533l<^Z4$C9PCADAXKQ z`~E+9Q!d%T^wg;HdZg?sL=-KKWFcs|Kq%S{@WP|X+988b`|r{fq8(Dy_WIj9&?79J1sFS z<7>wEI0m4Nu{$y2Duf9B+6**r4w)j7anj;>Ar6TMA0000CO# zovQP~sd``41weKpiJhDV8v>BbP3QT$Iw*&PhACsm0ZMR)11q2r$xchL_x1Gxf)Lh% ze~EWv01}?>>HYib|1pT1WG)8)2q)kKPIMYu!07^x<0Ny0`3WIsrKbpTu#$!ONAtLmN!sAQ9skrzEKT^rqcY-?()HrG|D%0`^YV?}Sbv=Zh*9}Hw^{HFSg!y; zO26mS4+B8i4M1n__gvI*0J=&6kbcU};AMWxp@a(>5C8?xfecUtYCsF<0b^h;m`gk0 z3_O4j2mqmABVdC#kPLVr3*>@bpa2wsQg9GdgF4U%nn4>l1G>O@a2Z?!x4>O63LXPK zm0rdq5F9q6m*QS>zW9R`D8V3-(lj2k8tlYq&=6k`r!+A)_f!yGi93mv#M8v<#7W`@ z5|yMwawLV5GD!PKCrFn_4@qyxWU?mNjvPi#C+{OSldq7UlHZHb#Pr47#W-R+#A?Jk z#YV(lQScNEiali`C7V(~IZL@inHR^4Yl=IHM~ZJ3uMs~dJ}$l}L6b0&@R3NCD3)lE zxFIo1#Zon?&QuOHpL&dXg*rt;XlgV^8k@G8)=0Zbo2FyvOu9QgfnG%anLb2ckfchQ zNCru6k*txtAjxMS3{8eRBZ*PMIKvoYe3VjIksG(+!?t?^02&)yuW;o{4x1K z`9%dq1y_X>g(`(B3iFB#MLWd=#d5`7#W^LKl8sWlQn}Jar5DPQ%J#}h%9YCf$_py; zDsCznD)lNuD$A-&)j-ue)ppeM{D;SjU)cTw{EHHF>qm>K&`QSHCvVHHkJkV)DS0X6kLa$F$G% zvzfUW&#cXC&RpF*!o1deoJD8(vWi*PEzlMY7CS7?TYRuIvrM-ih%i`DEJ z=9=g=jccZ?Rjnhf>#g}V$~F-;M{W4FDz=ff4Ytqh)a*ERO?ET(+V%Y%ssYw^m~##*LhZZKJ(J?;(7IW!`>d=2fQcNYOLk1?eYOW?mh>6p7=6-Q+z&shTt6Ld8eR}Swt=}}%Z3{pWj7{mys(L~DRR@<2y{en zL`%e{NT0}t$i*o4sM@Fnwj=ux`z6PYQ_h)-wvH}~o{6!JDT|qnwT?XyI~QjgR}nWK z?-*Yl|2n}fp)O%5(I@dl;!09*QhPEkIU@NSm#_HS0)yk+xnif&3l3P05{^rST&e$0azS{XlNOlI0-)?~iV3d%aWMPdtg%iva>t$Vl5WV>V^&q3v| zbNX^sa(CrUZnNK3za82hwY_hL+K&7k(>q;vp4>&)mALD6o?%{D-rL>5yL<8#@^|J> z{owjTYk^n+uV8$S)tymzOzBIq2d_kSmv?k zjX{kA$63dln`E1cnm(W4p5UMKKiS`G-rU?G-%`>Fw`R1?oeDp7_h+Y{yW8~I>f0IZ zMW?~(jMFcEiTGvgjOUrYv#hgiziRwi+d=Cn?1VbEb}n?qb@97HyNAztoa^hc>go7R z|F;w8RnFI3ki1aROX$t-UAdTjaq&{hrTNRTm#6wR^*z24a^-%%U;ofm&#Tw3xm>$4 zU_Ws2y7l$*H!N?QyUDuQb<6Bl=b-6e$8FQw9YbbAop;RdblMPUxN!F3)8Q8uUGyqek1ed#9NcMeT%+}Pv0fKTV5)BFZ2H72iAvykHH^j zma{%#KUIF#{@nA$^UK6a^2&xq!$8L@pq50g(%cTtMUk zA{Y2Sc7d;ZH-bQf%dv3)0&)QGx(z^8H2|7108qmJ0R-{`R@>jjH2?qr8G2M$bYXRL zXm4@=0C?K-(hX4XD=o^+1ON=~0`nZ51DXH;3XVxcK~#9!?OX{|6h|8VXF!laMMlC5 zpkU-uL3ce8kr+*Iqa2>Q%1feV--05Sq7n~e4WP&&9)#yh;u%Hu?doboj3VwPy4iT| zi-t8u!8i(nsGNc@$iQq(^-iaSo}QjdMyc=h>-Tp}P5)JYef9r;)pU=bw(bcK5SS7| zVgdp}G6F&}0s?KYWM0_Y_ahd0HBi?j)fVeMxW>xYEy;NF9Oy(EvGF_(36})sk&_9! zuYCfux1gXqnrbFy>6%}$W?bg($&_YKGV^cY3xh>zsnXWgI3$w;ECR5@M+Cm4r&l(B zt2)tZ2S@;L1P}py2=J6qEggk?04YE|mIq+@v^GDH2_OMLod^SHRhJh6_ySk~3w9SAP#d29m4@u@HPdj4Y_sk$>=p5I;~!* z1uP{{NB!M$dHhP2dCOdJXxhRMJl`J|fU^LeSiS`i08pW>hRElnu7;-j2>>6pDSrb{ zrLITQ69!(7v=rSIidcg#@E}mMNv1K0d zGX;kYmAY?XP-D$OCMFr^`rWg-M75B4}89nJeiY*a=mq31egfW2a^L4sG7GaIBaOhMh0~-W&QXhXlfFD z9B=3CVJ}9h6WE4_Srr^J4#^}qW>L6p+Oh7YIGZRLR(u~CqXBOmc|NNnj8Op9+av+$>ZaD zZ_Y9f$v(hQ<1wCCarlxIk$8P@8{6n7oVOZ?W$LsBDV@h?%ng8NcmQYzfM$Od4onre z8LTS+f$l2m!~e=g~J*0;Nt<_G2Xmq)kWiDfUz3*`X#_h94;pVOwvW8CL40-;*X%9 z;H<37*9Q+m2ND7UgLJ-ytw_*_<18kb#l3qSPEL9z{${f0Np_@kTK#EC{AnNuwqnJy z(?zF{JY{O&)~(rgc6K@?{x(VLEQ*U;(lh!^@NX!-E{cs-OnO%yw~UaCkc{t6hxYmk zMei+H)_=(pK6ua}m9~b3%a^U7yc!`HA(@d##t$#eQy7F{#scd;nMt3*Cy)9N7_vU? z!q;BCI-H%KO`jo8NK}eMEa8&i)plTA$GWQOL0a0zyaTzldWF~CIiFfyIN!W6y~EX2 zSXL%lyGG&X*A_C(W^IB}EPlFU7a!Me`jM=^mwUtcOG*ca|C8zQ<9-vy zH{7}{d|1_Q?CARPN~)YZwAj-j5{U!?eRtd%o1R-sq8l|fsuE}`YdTgEk`bs-Q`?~5 z7u#mcu#Jrt%4E>qj?T7AV%lcTLgh9YY4Vk;2+4Xb&V2i=x0n0yVcwT6T{Q4k&DlBa z?(Thq1MMXaeM5rUJv^GXWvj|FvsxGa`uiEl$$DH)Htx-_rKKfE@b`b~>l1~^$)89h z(x|9tJ#sRhASCN?BpV>MJO1^_rlzKa;eRSCue^5cTEM##YYpDKsob7sq%l=N1hSFb@efl6zR)?0TZEf~0(z-{TpA#iNEA?#ViN#Z$$X~$`K`{PQ2Iiug1DF)aV+SAYH6q5Bn8=zQex-zlDH zs?Q4M69-*oP5p|92%kP<<{eqt_vbF$xbag?PBvZH%G&zE#VfMAIVHazT)H8nL_jrk%$|3LuhJ3BknVHamfbxl20?(OZ7o0~UooF9ER zU!P$o3yWM`RWJ8Hd{{MXs2A%EwKibXZ$}(FblA(wn<~F`>*fdVhyHN2n4^*UfuH>MXAojUSWzJ-MapN@B9 zPG-;+2K5G&wY4=BJ}9K7rp^2CeSiPAX3m;DZQ6A7DI%7OiwpIsL?YE&T}4I3kRk5$ zrMtTaDlx^3WbGFX)R)T2O6Fitm52NI?B27N4~ccEucUDI zqrP$1|9J;;TUuIbYim(o!qi)i$YJN^?n8RfjN+4Y>sp^1wzjsp2l7zNy~+0H0OpgE zv6C!0Wy9Kp)gwpxdU$wl%lZQ&1_w=jB}rq_ ze$l&VbV*9ehWh$?o-X{w?~@TvW-gwL_AWd9* z8d^?%yCg6iTa_OZzrE`&Pke2RF1!<5DDd~Rq|Ge?x zy&q=gnYr`KopbK_#feZ;k;B8L#0CHWPaYzz0RTvdOCSIf8F7S1o!=l%NG=+3?@k=RfUt{vx4lc!OH;!05mN@JlwCgcMx)dMJaqrpsQ zN<$mi6(EL05=m(!GDD-lif;^&Na|``uwzgZ>^oN#!>d<cF*2?I-lGVBT5_0B;B&aOx5b{F?E3cXJafSZ^Qg zIng5@&=*?$`FOqiY!SZ9L`w!>vTi{gG+)UL*}RY4X8EFXu=zSGJ%yv9JNA9ic?cQX z*80oXhk=OK)aNlCen)55E`-h$z*~(m9TsY%KSR|@Vhuf6x_-pKccUJ^21l1pSwoj? zmb5Qz^=$9B8Psten$A`0`ZRQCp_X2T<{1vuC;qMzBYwBCjujopDB2h5}g2U8*(6GdItl}KO%24&2H@b$NI2%NKzWgO(PN;4mKhG{rRfF{Y15QT-#PZZ+Dvj-OEl z@G|2n`*M1W`|vG_YfipMXAw_e?ndMEpEbs8n9rKi znD?4jvq2+;`(wW+B+9TCXB95zjYVws^Y_v8G4?e@=|ttepnG8w50@ubfGRS{lgRTa zF2|?knU_*(vc5{qkQ0+_f1h1I&!?4v5+k*wYzH?gRG#K>C0&W3Rpl;tR-!AIRMcRO zVMbwYf@mum$CH2wL(zL<5{B45W|>9vzEfa_EXd2qA0^u+Q>N%ArF?Bnj!oo>clb)1 z@Wj@e^d(U~eu4WZ`?)kJb2;bX>r8fU>8rB8S=2@o8nKKzAP?E&1W}G^&J)&LPJbmo z2|r0m^==t@y*!OSkv&-qQq$Tz#5*ZL1I3G7>XV^<(v;78%{zgbl>BALG3` z@4lfcGD0lkWQzxI6*IO6M$8*(2Ka|F1Txq&E;Fth!1|vnQ7e1(JsQmHUmWQk*&c}q z*Tj~pWKEc5=V|R}?UX~y4|HPo6J3v7-?$pMvR;sT<#@GtWqVa$%w9-cULRf``tyK! zAbi$f=w}GOtKb;_Ux9}u$Wpk4roF2_zh}ew0Zn6Q7Zv8>T>Np{IbgtHae`oX>WFW%qV ztD~zZd{X=+YAzv$Sgu&K*dP_nVxag{aq+~f37!egiE}O%t_7}C!|5v8s(YisWs>E$ z4$2Pa#~+WEmhVL&w1=W)qB)+n-v7i}+fBJWs!@zL?Ph=fn{)R_O^NKloF{RV54fNG^{vBs)5CgwZU3qj*~=>?M7{m*ZO zMcLYf9zFznNc;A^FEFrF-Vz-Qa0x$8v>WBzoRHO%NtRWXGmuG@o$S-?rw&h#X^7yA z%Z_phFOT%5IiWP6>P%bDc49CS;$f@h#7ZT}agCMRW zY?X7;?Wh!@Az0vEI2}T_6W}_2K{vz7Tk)ps&FUxgk2xz0wINMbrsY?2?FPklS#`0W z^1ll$v2As~*Lb&~5rrFSmL*Zm)8qEeB?XpoeUS=146RH;s>Y!=f(3|k1ggO0?#h%4Dxy{&jB`&3hCBI9!#Y2Ts zzWnu+GL?G%a&=ZDyD-o*Fv$vKMP+?dx#Caf=jR_4Bx~y8+~=$-?onBJTsYgU(q5VS zAs}n;$Hqzc@gmBk$DcxM^Gne+$NlHS>VwX?`k#w9!tmHin)B@1?7*t{syvtDU9VQo z)+PU+_eXu6+vl@nOxz^bgkJx=Qn)`F88#>R*c>~LZ4a+1x5rhZnzXF#E(t|++zlZOe4${<#7intWo6Kc6QGEpLbjVH|~o5vIV z&L%7+G%^-yR`i@o?<;8Ho7;bJzr^1uZ;P>tbLVPjIAri-2#FtxdSCb7k$vF)YQi{9j#!&&>W8`z{Y?KTDAiv2d|I^W z2Ia%>2~*%V=c(o`+=l^7``B0^^%UqBOb*X9db&9_`r8v%w95O2a|lSg?z=9>yzcL5rmfDKm0vU zF~5zJ!!Jx)-SNbUEaQ2Ip3({T*RIDE9z^4jVk#t!b=A~#b>WSL(i^O2=OSOqaD&%S z#ozXUK{MRR17-H<@$tVdJ82%M0_mvDLD(RryMPd)sFFOjMnK%X+y7~cE7&AGAwgYE zE-dHi^J0tf8X5%~8wqyIVjWx8OrhfK#aF?8ZNbC#bz?e6Rd@bSU=$b|^&Lhw38o1#PRaQbdU|8kI)|-hvtBZ@mAdu%a zz?=h7P#v(MQq#Ty))#UuiK)n|z4n0>6%|!fR3O4J<;CzQjlHzE2oVw&_a8}OU*`#0 zgiXL!K$jF06s9~~QGopT*cekXs1FMQuV+Z;6ITjzLkAj(2Jc!M^N$T4fK53&>-F$C9q zzRraO2M33S_Q2V=xMGEg)k4oSoSeY8-$*%h0lelPA!lOIPN8^IJ0~a4a|VuQ9#Q01 z9E68gtkrIIBUU@+%@-H0gxpWpz`ogP4N-x3e0)4p^1y0!1?kL9tFO0_Ve#x}&HpL$(fEu z(F?o-UIFITm}jQ1{j1d*0lVMXCuas7rmcnAPguua)|$M%mvWT;xT*$4_UG3p__dvZ zd~t@%GTAUgC616cko>B>B#I>)@FJx5fgR)$^veBEhF+EX*zZ)y} zr0Y>PHjB8kgh5S!G+KQI8uGrl$By{EZlvs2FhTL;gNPPTbP)vOZJkN3`L@jXo&(ly zuTG$1=}(LsKeTSt>YiZgvO^z704I=_*_R780F+aCYS@5gqR|x2rMgc9LQ0B?_ouxC z`*|8*`sbU$)zyD1dim{bp;QDsKfG1lZ}!G_cC=?Rg~h0O`>b~^)W7;Z^Y+c}`ExC| zCf!GAY&I1^l{{BgmX~kzzl_(85r=#WDsGxy#jpDW6%p1KPi!)5hMwf2C9|;wbs@W2 zmjh$WxuENomKG~3t1@n^Gb9E^mXA4i`(1y`EiCeFBpKJTw|)0I9sU`PFLg8aPY4Vz zRo6GN!P{+vh;pt>99of6PrF5PJ&HWDg$8%4e87&&wJ(^No9yiE$AXGuCD0^rKoF!M zBf6_KzkANVr5D`BZE3&Gb%7!(py^K~yAGtKQu*TXR^)K5quZa~=|pwOXnuYkdHZXz zq83%w+sh9hJ{02#oyFz8i%vX!-BtG~(oBj|;*N?k_aim8B)cRI=ofO=Q+ajA51(7! zT7qxuH^@@oH{pK#;3$5(uH4LqAC_G~xF zmrU26ZvB;fk3YJmrQzDx9r}DUv$9fH8r`n!4KsM>bCXuy`{ydf&4?0t9M0qKc>S8r z_kM+c1NULc`(2ZQpM)fj4-PyJ9oNh)P;&12ct!E#u>jy#tG+0}i$a2m)?oE+uU+`y7#C zEtipnjL8LPW&en8X)2L(vs_XPD(tiik`A!OZE-%|OZ7wPK56*ByFdO*vFiWq;ZL}5 zPIg@8u4_zx|8|isdiZjK(t2!-D%z7YMAg-)#z$?*XKzS3iMSppW2;8{@#J3|_v|4G zxgAN)mP{1!IA)qeN(=M%bzDJR(|i9hfUrQ&7bxXxEG*P&ZxpT2p(Dl;^vjV7AO$47 z77*K12xp6f_T^oZ>h0v0j~p~IIIxRyJy1f*BvK#Os%v(f#CWeN-M%WR#GxKM$8!yH zrim05yUwpqP#FXT{;f6-`qCYHixR6pnQ@>}z~ku#ydG{M7E><2%Vx_2(+|PW{a+&U zu$jVgJz89_K1#ql!&}Enfx98%Qs%TLqG@RqVHvB%`qJ_7mDeN9BU#u}n;Z#UEiStS z8aDFs5n*A2#kqczL`2g#kpYx}U{08Sm!0xtVOIH=AkMGNT)D}~$++lfB_*Y#(d|zY zSuN1BZ#h~tA+%;cfriW+5>Q^0$ExSx*x2W-p#;9j#MkzWB#B?YB8pf^Nf?hvX9fad zXCGczSXf-7B&jGY3|SypdDHsxpL=+~i2q>n>)VVfEwJ+2q-F^!260MIPw&bJ8 zk!W;SIoR8Sj2Ox@1|%hs)Bpuww*yTurdaFyohACvGNkJEt4PCDY5e99uUf#}-Tm_N zlG3OmDhlUkh^aCq7Szitu_v5}5kb{n4-4Qmd`U8iL2N>Da?FluTQQwQS?1kIL z$?-}nD{0iNIC6kv7SP%brWR=bdlhZ}B26svvz9LxMsdN4Oy;2Y zey41PDtylmZ$3syEi{Gc>ZBP^{3uK8D%Pe>!!@0fg0FMcVVPP603aHb3lA*CLO=rurxoWEDiw z+S=O5$;k-oWlC+@7h*#HE#?K>0tfK9n3l^FbPQecS5m^Q%VFI}z?s7wh>ni_`}gx{ zk0cWBn>S}va(B~&n9%#9rp%0t#iga7prG_iL!!70S@7NMZGeZmfk9?UN~3u{_QObm z-xlf%$A+I~rzkDg#91nTuSZdONZaP>kWH@{NNu+VjGtk%9&lHB^9Wt~al$2w~Z73~5 z!&2Gq-3b+LyDFf8X)Fd~5y5x!@F;#1_q}sH+vrDRWMX21sV%Kju(`3hxtYuu+C4Ml zjF5-Q%E~lD@VuHD!mG>ga>&=-SC5!I)uXd;r{B5!cBEp#&c?<$5;2x|u7;g{zV`O^ zGBW*_hrhWEo8gULZ*HJBB$59s&dtD~*ZtinxT98h&fX#h^xg-12O3C8-=&3xg|R2o z2PyZUr|aDayU?5;ga(n9S6{-Kr?x&hIIy*|!=Z)9%A!a1uOnIN!!LSsglm6j0^Z)< zA0cE(M}PmK8jIP%E!^Dr--s71sz`*eD5aSq;NbIT4$`Rf(ndsTyqbXZd)_+foOiy$ zU~tXSZ*8*cAw0bBsy*)jMFG#$G_(2xa$_3fDjecBAWQ)L25YqyGs&h;spBexu zdho%6b%YokiZkoRMD=>-b-`ANG5G8EZ?fZM?)HlrgqP6Tb-||*=JUF+wqD=dJb%1i z`>N19ju1ohGcz;8!x2I_eX~^7_&43h$HxeF@q$&w(ijM=lc=bZxEmp+prpjkrvzgP zYku*u4L!|IKxm_DS-F6Xrw%OA%CvlqM&Dk>fJTdgY4y=hdh^o-ivi`4NkYU(pi=;;LceU`yN; zYFr+g5ECch(h8C&trpu_c2IiIlhG=a{}gS)^{$oB|x|tJ1q3j1YH(VP!!j7 zny>&bG|Fp0z5p@tiiwGdh};h)Fe-4a`9D9x;h=`Nm=;vBZSv`v|F|}Oe(@cf>P*&d zA|j$xE~B!N5>xFSdd(h1u_p_)y98QY;77p43mQ}HSLv85Y_O1!{>YcF5v-V=%+Ag} zn#wK6&!4PNsG_2R*wtocX5-`ITUxW0aZCgS>SVu=r&bda6SK0j5h-P4WJDB;CRGV- zB=mzC3lkGA-8(}L(oY{hzF+9>MjFx6(_@oDSw?0X5^ycSs|@C?3{$?w1}Y3&{!Qgc z;o;$J)zsD!;pZj3R#N9j*I?Jy#j@5mG&D3eHrCQ=FzZD>5@&DDL8x2%^PO=VQV!U^ z>dq(Z?Ktr#a;qT#VE|UZgtMFr<9PY@??PQ;Vf`F_3WdHc)ugg1wZT@f>@on5_SBKOkYR)ftVTygjn6 zI34=JI(fX;oMjwbfH*?hjTZx^f`DlZ6#C}Jplc;DyeHhR8AWhubUv{g8)@GVX$A;4 zqZ21z-eED((FHki1gJgQY5$YJ07pXjACQw!{a#!=Fh(4K>!5>_D#eJ7Hh=;OGC-Iij| zl5+o>HQVbDq*Hc@xH{<>W?TUQfq;O3rAGVntE;&~lclR{}{X-?hf_xI-kHfPmo5 zn>zWgED1SUQfw_MI(VI^2=Gqf&@;EU=Om44`n=FX88$3R@}vXuJw~}u76rEd^oC^$ z*i(x8i3*YAv?UZYwmX?V z^a`tK*5+r?N{4Ueuh!PqwKmVMN#*6`+1c4G-_g$NQ41NYnlCfb(rQ?6cZ65Q$2oeh*(5wYN*+|*oUvagddVkN;Zd-VDnXpYR&C$X1~>P-p%>k z+>YiKI0XM@eD%vNxP6$a+GBM_0^{_BB>GFxBk19oz@aWJc=7ga8KQ9r$jhimSG_k4 F{4Y^9icbIl literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtprogresslabel.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtprogresslabel.png new file mode 100644 index 0000000000000000000000000000000000000000..515752683b4f354bc6ef855813364193a50e46a3 GIT binary patch literal 3621 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 literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxtspanslider.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxtspanslider.png new file mode 100644 index 0000000000000000000000000000000000000000..52b0b0320bc4dc1289d21dbd3a26ed2f166ced51 GIT binary patch literal 3117 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 literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxttablewidget.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxttablewidget.png new file mode 100644 index 0000000000000000000000000000000000000000..187a0955d0dd5f90ceb19b5eeabb6e453afc4aba GIT binary patch literal 6960 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 A>Hq)$ literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxttabwidget.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxttabwidget.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6ef9362ac9841a361d5a8c73b36b154b3487cc GIT binary patch literal 6461 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 Q`i()Rt7)WBsrEebe<1bKt^fc4 literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/qxttooltip.png b/src/contrib/libqxt-2007-10-24/doctemplate/qxttooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..d361f88a8618fc83ca7fc2fa23e29e55d9dee322 GIT binary patch literal 81342 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 O2pI_l@fuOXp#K3A*u#wg literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/site.html b/src/contrib/libqxt-2007-10-24/doctemplate/site.html new file mode 100644 index 00000000..0bf4f522 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/site.html @@ -0,0 +1,50 @@ + + + + + + libqxt documentation + + + + +

    + + + + + + + + + + + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/doctemplate/stylesheet.css b/src/contrib/libqxt-2007-10-24/doctemplate/stylesheet.css new file mode 100755 index 00000000..e5f50cb5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/doctemplate/stylesheet.css @@ -0,0 +1,41 @@ +body + { + background: #ffffff; + color: black + } +pre + { + padding: 0.2em; + border: #e7e7e7 1px solid; + background: #f1f1f1; + color: black; + text-indent:10px; + } + +h3.fn,span.fn + { + margin-left: 1cm; + text-indent: -1cm; + } + +a:link + { + color: #004faf; + text-decoration: none + } + +a:visited + { + color: #672967; + text-decoration: none + } + +.fn + { + font-weight: bold; + } + +.paramname + { + font-style: italic; + } diff --git a/src/contrib/libqxt-2007-10-24/examples/rpcpeer/main.cpp b/src/contrib/libqxt-2007-10-24/examples/rpcpeer/main.cpp new file mode 100644 index 00000000..a8d80193 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/examples/rpcpeer/main.cpp @@ -0,0 +1,37 @@ +/** ***** QxtRPCPeer demonstration ***** + +This example shows the power of QxtRPCPeer with QxtSemaphore +It shows two QxtSpanSliders, both connected with the range property. +Run this app twice and watch the sliders sync +When QxtnamedPipe is ready, and the improvement to QxtRPCPeer is done, it will be posible to do the same +without actualy blocking a port. + +QxtSemaphore is experimental. Do not kill the app, use the guis close button instead +if you already killed the app, the semaphore might be blocked, try changing it if the app doesn't work. +*/ + +#include +#include +#include +#include + +int main(int argc, char** argv) + { + QxtApplication app(argc,argv); + QxtSpanSlider slider; + QxtRPCPeer peer; + peer.setRPCType(QxtRPCPeer::Peer); + + QxtSemaphore smp("org.libqxt.examples.rpcpeer.singleinstance"); + if(smp.trylock()) + peer.listen ( QHostAddress::LocalHost, 56663); + else + peer.connect ( QHostAddress::LocalHost, 56663); + + peer.attachSignal (&slider, SIGNAL(spanChanged(int,int))); + peer.attachSlot ( "spanChanged",&slider, SLOT(setSpan(int,int))); + + slider.resize(80,200); + slider.show(); + app.exec(); + }; diff --git a/src/contrib/libqxt-2007-10-24/examples/rpcpeer/rpcpeer.pro b/src/contrib/libqxt-2007-10-24/examples/rpcpeer/rpcpeer.pro new file mode 100644 index 00000000..8a1d7054 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/examples/rpcpeer/rpcpeer.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +CONFIG+=QXT debug +QXT+=network gui diff --git a/src/contrib/libqxt-2007-10-24/extras/GPL_Exception1.0.txt b/src/contrib/libqxt-2007-10-24/extras/GPL_Exception1.0.txt new file mode 100644 index 00000000..690bb758 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/extras/GPL_Exception1.0.txt @@ -0,0 +1,79 @@ +Trolltech GPL Exception version 1.0 +Additional rights granted beyond the GPL (the "Exception"). + +As a special exception to the terms and conditions of version 2.0 of the GPL, +Trolltech hereby grants you the rights described below, provided you agree to +the terms and conditions in this Exception, including its obligations and +restrictions on use. + +Nothing in this Exception gives you or anyone else the right to change the +licensing terms of the Qt Open Source Edition. + +Below, "Licensed Software" shall refer to the software licensed under the GPL +and this exception. + +1) The right to use Open Source Licenses not compatible with the GNU +General Public License: You may link software (hereafter referred to as "Your +Software") against the Licensed Software and/or distribute binaries of Your +Software linked against the Licensed Software, provided that: + +A) Your Software is licensed under one of the following licenses: + +License name Version(s)/Copyright Date + Academic Free License 2.0 or 2.1 + Apache Software License 1.0 or 1.1 + Apache License 2.0 + Apple Public Source License 2.0 + Artistic license From Perl 5.8.0 + BSD license "July 22 1999" + Common Public License 1.0 + GNU Library or "Lesser" 2.0 or 2.1 + General Public License (LGPL) + Jabber Open Source License 1.0 + MIT License (as attached) + Mozilla Public License (MPL) 1.0 or 1.1 + Open Software License 2.0 + OpenSSL license (with original "2003" ("1998") + SSLeay license) + PHP License 3.0 + Python license (CNRI Python License) (as attached) + Python Software Foundation License 2.1.1 + Q Public License v1.0 + Sleepycat License "1999" + W3C License "2001" + X11 License X11R6.6 + Zlib/libpng License (as attached) + Zope Public License 2.0 + + (Licenses without a specific version number or date are reproduced +in the file GPL_Exception1.0_Addendum.txt in your source package). + +and + +B) You must, on request, make a complete package including the complete source +code of Your Software (as defined in the GNU General Public License version +2, section 3, but excluding anything excluded by the special exception in the +same section) available to Trolltech under the same license as that granted +to other recipients of the source code of Your Software. + +and + +C) Your or any other contributor's rights to: + + i) distribute the source code of Your Software to anyone for + any purpose; + + and + + ii) publicly discuss the development project for Your + Software and its goals in any form and in any forum + +are not prohibited by any legal instrument, including but not limited to +contracts, non-disclosure agreements, and employee contracts. + +2) The right to link non-Open Source applications with pre-installed versions +of the Licensed Software: You may link applications with binary pre-installed +versions of the Licensed Software, provided that such applications have been +developed and are deployed in accordance in accordance with the terms and +conditions of the Qt Commercial License +Agreement. diff --git a/src/contrib/libqxt-2007-10-24/extras/artwork/logo.png b/src/contrib/libqxt-2007-10-24/extras/artwork/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..58ae9b4ff5e6ec022adeb2e473f584cc57831333 GIT binary patch literal 96907 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 z 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

    k4!atGqhSy^VjK}Q9u6vFP!yd&^nIM@_k>UX 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

    Advanced example usage: + \code + class NativeWindow : public QWidget { + public: + NativeWindow(WId wid) { + QWidget::create(wid, false, false); // window, initializeWindow, destroyOldWindow + } + ~NativeWindow() { + QWidget::destroy(false, false); // destroyWindow, destroySubWindows + } + }; + \endcode + + \code + WindowList windows = QxtDesktopWidget::windows(); + QStringList titles = QxtDesktopWidget::windowTitles(); + bool ok = false; + QString title = QInputDialog::getItem(0, "Choose Window", "Choose a window to be hid:", titles, 0, false, &ok); + if (ok) + { + int index = titles.indexOf(title); + if (index != -1) + { + NativeWindow window(windows.at(index)); + window.hide(); + } + } + \endcode + + \note Currently supported platforms are \b X11 and \b Windows. + */ + +/*! + \fn QxtDesktopWidget::windows() + + Returns the list of native window system identifiers. + + \note The windows are not necessarily QWidgets. + + \sa QApplication::topLevelWidgets(), windowTitles() + */ + + +/*! + \fn QxtDesktopWidget::activeWindow() + + Returns the native window system identifier of the active window if any. + + Example usage: + \code + WId wid = QxtDesktopWidget::activeWindow(); + QString title = QxtDesktopWidget::windowTitle(wid); + qDebug() << "Currently active window is:" << title; + \endcode + + \note The window is not necessarily a QWidget. + + \sa QApplication::activeWindow() + */ + +/*! + \fn QxtDesktopWidget::findWindow(const QString& title) + + Returns the native window system identifier of the window if any with given \a title. + + Example usage: + \code + WId wid = QxtDesktopWidget::findWindow("Mail - Kontact"); + QPixmap screenshot = QPixmap::grabWindow(wid); + \endcode + + \note The window is not necessarily a QWidget. + + \sa QWidget::find() + */ + +/*! + \fn QxtDesktopWidget::windowAt(const QPoint& pos) + + Returns the native window system identifier of the window if any at \a pos. + + Example usage: + \code + QPoint point = // a mouse press or something + WId wid = QxtDesktopWidget::windowAt(point); + QPixmap screenshot = QPixmap::grabWindow(wid); + \endcode + + \note The window is not necessarily a QWidget. + + \sa QApplication::widgetAt() + */ + +/*! + \fn QxtDesktopWidget::windowTitle(WId window) + + Returns the title of the native \a window. + + Example usage: + \code + WId wid = QxtDesktopWidget::activeWindow(); + QString title = QxtDesktopWidget::windowTitle(wid); + qDebug() << "Currently active window is:" << title; + \endcode + + \sa QWidget::windowTitle(), windowTitles() + */ + +/*! + \fn QxtDesktopWidget::windowTitles() + + Returns a list of native window titles. + + Example usage: + \code + qDebug() << "Windows:"; + foreach (QString title, QxtDesktopWidget::windowTitles()) + qDebug() << title; + \endcode + + \sa QWidget::windowTitle(), windowTitle(), windows() + */ + +/*! + \fn QxtDesktopWidget::windowGeometry(WId window) + + Returns the geometry of the native \a window. + + Example usage: + \code + WId wid = QxtDesktopWidget::activeWindow(); + QRect geometry = QxtDesktopWidget::windowGeometry(wid); + qDebug() << "Geometry of the active window is:" << geometry; + \endcode + + \sa QWidget::frameGeometry() + */ + +QStringList QxtDesktopWidget::windowTitles() +{ + WindowList windows = QxtDesktopWidget::windows(); + QStringList titles; + foreach (WId window, windows) + titles += QxtDesktopWidget::windowTitle(window); + return titles; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.h new file mode 100644 index 00000000..6e88f0a4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTDESKTOPWIDGET_H +#define QXTDESKTOPWIDGET_H + +#include +#include "qxtglobal.h" + +typedef QList WindowList; + +class QXT_GUI_EXPORT QxtDesktopWidget +{ +public: + static WindowList windows(); + static WId activeWindow(); + static WId findWindow(const QString& title); + static WId windowAt(const QPoint& pos); + static QString windowTitle(WId window); + static QStringList windowTitles(); + static QRect windowGeometry(WId window); +}; + +#endif // QXTDESKTOPWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_win.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_win.cpp new file mode 100644 index 00000000..45895228 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_win.cpp @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdesktopwidget.h" +#include + +static WindowList qxt_Windows; + +BOOL CALLBACK qxt_EnumWindowsProc(HWND hwnd, LPARAM lParam) +{ + Q_UNUSED(lParam); + if (::IsWindowVisible(hwnd)) + qxt_Windows += hwnd; + return TRUE; +} + +WindowList QxtDesktopWidget::windows() +{ + qxt_Windows.clear(); + HDESK hdesk = ::OpenInputDesktop(0, FALSE, DESKTOP_READOBJECTS); + ::EnumDesktopWindows(hdesk, qxt_EnumWindowsProc, 0); + ::CloseDesktop(hdesk); + return qxt_Windows; +} + +WId QxtDesktopWidget::activeWindow() +{ + return ::GetForegroundWindow(); +} + +WId QxtDesktopWidget::findWindow(const QString& title) +{ + std::wstring str = title.toStdWString(); + return ::FindWindow(NULL, str.c_str()); +} + +WId QxtDesktopWidget::windowAt(const QPoint& pos) +{ + POINT pt; + pt.x = pos.x(); + pt.y = pos.y(); + return ::WindowFromPoint(pt); +} + +QString QxtDesktopWidget::windowTitle(WId window) +{ + QString title; + int len = ::GetWindowTextLength(window); + if (len >= 0) + { + wchar_t* buf = new wchar_t[len+1]; + len = ::GetWindowText(window, buf, len+1); + title = QString::fromStdWString(std::wstring(buf, len)); + delete[] buf; + } + return title; +} + +QRect QxtDesktopWidget::windowGeometry(WId window) +{ + RECT rc; + QRect rect; + if (::GetWindowRect(window, &rc)) + { + rect.setTop(rc.top); + rect.setBottom(rc.bottom); + rect.setLeft(rc.left); + rect.setRight(rc.right); + } + return rect; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_x11.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_x11.cpp new file mode 100644 index 00000000..aa979009 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget_x11.cpp @@ -0,0 +1,140 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdesktopwidget.h" +#include +#include + +static void qxt_getWindowProperty(Window wid, Atom prop, int maxlen, Window** data, int* count) +{ + Atom type = 0; + int format = 0; + unsigned long after = 0; + XGetWindowProperty(QX11Info::display(), wid, prop, 0, maxlen / 4, False, AnyPropertyType, + &type, &format, (unsigned long*) count, &after, (unsigned char**) data); +} + +static QRect qxt_getWindowRect(Window wid) +{ + QRect rect; + XWindowAttributes attr; + if (XGetWindowAttributes(QX11Info::display(), wid, &attr)) + { + rect = QRect(attr.x, attr.y, attr.width, attr.height); + } + return rect; +} + +WindowList QxtDesktopWidget::windows() +{ + static Atom net_clients = 0; + if (!net_clients) + net_clients = XInternAtom(QX11Info::display(), "_NET_CLIENT_LIST_STACKING", True); + + int count = 0; + Window* list = 0; + qxt_getWindowProperty(QX11Info::appRootWindow(), net_clients, 1024 * sizeof(Window), &list, &count); + + WindowList res; + for (int i = 0; i < count; ++i) + res += list[i]; + XFree(list); + return res; +} + +WId QxtDesktopWidget::activeWindow() +{ + Window focus; + int revert = 0; + Display* display = QX11Info::display(); + XGetInputFocus(display, &focus, &revert); + return focus; +} + +WId QxtDesktopWidget::findWindow(const QString& title) +{ + Window result = 0; + WindowList list = windows(); + foreach (Window wid, list) + { + if (windowTitle(wid) == title) + { + result = wid; + break; + } + } + return result; +} + +WId QxtDesktopWidget::windowAt(const QPoint& pos) +{ + Window result = 0; + WindowList list = windows(); + for (int i = list.size() - 1; i >= 0; --i) + { + WId wid = list.at(i); + if (windowGeometry(wid).contains(pos)) + { + result = wid; + break; + } + } + return result; +} + +QString QxtDesktopWidget::windowTitle(WId window) +{ + QString name; + char* str = 0; + if (XFetchName(QX11Info::display(), window, &str)) + { + name = QString::fromLatin1(str); + } + XFree(str); + return name; +} + +QRect QxtDesktopWidget::windowGeometry(WId window) +{ + QRect rect = qxt_getWindowRect(window); + + Window root = 0; + Window parent = 0; + Window* children = 0; + unsigned int count = 0; + Display* display = QX11Info::display(); + if (XQueryTree(display, window, &root, &parent, &children, &count)) + { + window = parent; // exclude decoration + XFree(children); + while (window != 0 && XQueryTree(display, window, &root, &parent, &children, &count)) + { + XWindowAttributes attr; + if (parent != 0 && XGetWindowAttributes(display, parent, &attr)) + rect.translate(QRect(attr.x, attr.y, attr.width, attr.height).topLeft()); + window = parent; + XFree(children); + } + } + return rect; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.cpp new file mode 100644 index 00000000..669ab2db --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdockwidget.h" +#include + +class QxtDockWidgetPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtDockWidget); + + QSize contentsSize() const; + QSize prev; +}; + +QSize QxtDockWidgetPrivate::contentsSize() const +{ + QSize contents = qxt_p().size(); + int fw = qxt_p().style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth); + QSize frame(2 * fw, fw); +#ifdef Q_WS_WIN + frame -= QSize(0, 3); +#endif + contents -= frame; + return contents; +} + +/*! + \class QxtDockWidget QxtDockWidget + \ingroup QxtGui + \brief An extended QDockWidget that remembers its size. + + QxtDockWidget fills in the gap in QDockWidget and makes the dock + widget to remember its size while toggling visibility off and on. + + \note 146752 - QDockWidget should remember its size when hidden/shown.
    + http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=146752 + */ + +/*! + Constructs a new QxtDockWidget with \a title, \a parent and \a flags. + */ +QxtDockWidget::QxtDockWidget(const QString& title, QWidget* parent, Qt::WindowFlags flags) + : QDockWidget(title, parent, flags) +{ + QXT_INIT_PRIVATE(QxtDockWidget); +} + +/*! + Constructs a new QxtDockWidget with \a title, \a parent and \a flags. + */ +QxtDockWidget::QxtDockWidget(QWidget* parent, Qt::WindowFlags flags) + : QDockWidget(parent, flags) +{ + QXT_INIT_PRIVATE(QxtDockWidget); +} + +/*! + Destructs the dock widget. + */ +QxtDockWidget::~QxtDockWidget() +{} + +QSize QxtDockWidget::sizeHint() const +{ + QSize size; + if (qxt_d().prev.isValid() && !isFloating()) + size = qxt_d().prev; + else + size = QDockWidget::sizeHint(); + return size; +} + +void QxtDockWidget::setVisible(bool visible) +{ + if (!visible && !isFloating()) + qxt_d().prev = qxt_d().contentsSize(); + QDockWidget::setVisible(visible); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.h new file mode 100644 index 00000000..520bddb6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdockwidget.h @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTDOCKWIDGET_H +#define QXTDOCKWIDGET_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtDockWidgetPrivate; + +class QXT_GUI_EXPORT QxtDockWidget : public QDockWidget +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtDockWidget); + +public: + explicit QxtDockWidget(const QString& title, QWidget* parent = 0, Qt::WindowFlags flags = 0); + explicit QxtDockWidget(QWidget* parent = 0, Qt::WindowFlags flags = 0); + virtual ~QxtDockWidget(); + +#ifndef QXT_DOXYGEN_RUN + QSize sizeHint() const; + void setVisible(bool visible); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTDOCKWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp new file mode 100644 index 00000000..c56349cc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtgroupbox.h" + +#include + +class QxtGroupBoxPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtGroupBox); + + QxtGroupBoxPrivate(); + void init(); + bool collapsive; +}; + +QxtGroupBoxPrivate::QxtGroupBoxPrivate() : collapsive(true) +{} + +void QxtGroupBoxPrivate::init() +{ + qxt_p().setCheckable(true); + qxt_p().setChecked(true); + QObject::connect(&qxt_p(), SIGNAL(toggled(bool)), &qxt_p(), SLOT(setExpanded(bool))); +} + +/*! + \class QxtGroupBox QxtGroupBox + \ingroup QxtGui + \brief A collapsive and checkable QGroupBox. + + QxtGroupBox is a checkable group box automatically expanding/collapsing + its content according to the check state. QxtGroupBox shows its children + when checked and hides its children when unchecked. + + \image html qxtgroupbox.png "Two QxtGroupBoxes - an expanded and a collapsed - on top of each other." + */ + +/*! + Constructs a new QxtGroupBox with \a parent. + */ +QxtGroupBox::QxtGroupBox(QWidget* parent) + : QGroupBox(parent) +{ + QXT_INIT_PRIVATE(QxtGroupBox); + qxt_d().init(); +} + +/*! + Constructs a new QxtGroupBox with \a title and \a parent. + */ +QxtGroupBox::QxtGroupBox(const QString& title, QWidget* parent) + : QGroupBox(title, parent) +{ + QXT_INIT_PRIVATE(QxtGroupBox); + qxt_d().init(); +} + +/*! + Destructs the group box. + */ +QxtGroupBox::~QxtGroupBox() +{} + +/*! + \property QxtGroupBox::collapsive + \brief This property holds whether the group box is collapsive + */ +bool QxtGroupBox::isCollapsive() const +{ + return qxt_d().collapsive; +} + +void QxtGroupBox::setCollapsive(bool enable) +{ + if (qxt_d().collapsive != enable) + { + qxt_d().collapsive = enable; + if (!enable) + setExpanded(true); + else if (!isChecked()) + setExpanded(false); + } +} + +/*! + Sets the group box \a collapsed. + + A collapsed group box hides its children. + + \sa setExpanded(), QGroupBox::toggled() + */ +void QxtGroupBox::setCollapsed(bool collapsed) +{ + setExpanded(!collapsed); +} + +/*! + Sets the group box \a expanded. + + An expanded group box shows its children. + + \sa setCollapsed(), QGroupBox::toggled() + */ +void QxtGroupBox::setExpanded(bool expanded) +{ + if (qxt_d().collapsive || expanded) + { + // show/hide direct children + foreach (QObject* child, children()) + { + if (child->isWidgetType()) + static_cast(child)->setVisible(expanded); + } + setFlat(!expanded); + } +} + +void QxtGroupBox::childEvent(QChildEvent* event) +{ + QObject* child = event->child(); + if (event->added() && child->isWidgetType()) + { + QWidget* widget = static_cast(child); + if (qxt_d().collapsive && !isChecked()) + widget->hide(); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.h new file mode 100644 index 00000000..c932e35e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTGROUPBOX_H +#define QXTGROUPBOX_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtGroupBoxPrivate; + +class QXT_GUI_EXPORT QxtGroupBox : public QGroupBox +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtGroupBox); + Q_PROPERTY(bool collapsive READ isCollapsive WRITE setCollapsive) + +public: + explicit QxtGroupBox(QWidget* parent = 0); + explicit QxtGroupBox(const QString& title, QWidget* parent = 0); + virtual ~QxtGroupBox(); + + bool isCollapsive() const; + void setCollapsive(bool enabled); + +public slots: + void setCollapsed(bool collapsed = true); + void setExpanded(bool expanded = true); + +#ifndef QXT_DOXYGEN_RUN +protected: + virtual void childEvent(QChildEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTGROUPBOX_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtgui.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtgui.h new file mode 100644 index 00000000..48067658 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtgui.h @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtapplication.h" +#include "qxtcheckcombobox.h" +#include "qxtconfigdialog.h" +#include "qxtconfirmationmessage.h" +#include "qxtdesktopwidget.h" +#include "qxtdockwidget.h" +#include "qxtgroupbox.h" +#include "qxtheaderview.h" +#include "qxtitemdelegate.h" +#include "qxtlabel.h" +#include "qxtlistwidget.h" +#include "qxtlistwidgetitem.h" +#include "qxtnativeeventfilter.h" +#include "qxtprogresslabel.h" +#include "qxtproxystyle.h" +#include "qxtpushbutton.h" +#include "qxtspanslider.h" +#include "qxtstars.h" +#include "qxtstringspinbox.h" +#include "qxttabwidget.h" +#include "qxttablewidget.h" +#include "qxttablewidgetitem.h" +#include "qxttooltip.h" +#include "qxttreewidget.h" +#include "qxttreewidgetitem.h" diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.cpp new file mode 100644 index 00000000..b7694787 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.cpp @@ -0,0 +1,217 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#if 0 +#include "QxtHeaderView.h" +#include +#include +#include +#include +#include + + +class QxtHeaderViewPrivate +{ +public: + + QxtHeaderViewPrivate() + { + space=10; + action_size=NULL; + } + + QSize action_size_c() const + { + return *action_size; + } + + QList actions; + QSize * action_size; + int space; + +}; + + +/*! + \class QxtHeaderView QxtHeaderView + \ingroup QxtGui + \brief a headerview that can have QActions + + draws actions directly into the header. it's like a toolbar for your ItemView. + + \image html qxtheaderview.png "QxtHeaderView with a few actions." + */ + +/*! + \fn QxtHeaderView::QxtHeaderView() + + default Constructor + */ + +QxtHeaderView::QxtHeaderView (Qt::Orientation o ,QWidget *parent):QHeaderView(o,parent) +{ + priv = new QxtHeaderViewPrivate; + setStretchLastSection(true); + QStyleOptionViewItem option; + option.initFrom(this); + priv->action_size= new QSize( QApplication::style()->subElementRect(QStyle::SE_ViewItemCheckIndicator,&option).size()); + setMouseTracking (true ); +} + + + +//----------------------------------------------------------------- +/*! + adds a new QAction \a action to the header. + */ +void QxtHeaderView::addAction(QAction * action) +{ + priv->actions.append(action); +} + +//----------------------------------------------------------------- + +void QxtHeaderView::mouseMoveEvent ( QMouseEvent * m ) +{ + if (!priv->action_size) + { + setToolTip (QString()); + leaveEvent ( m ); + return; + } + int moved = subWidth(priv->action_size_c(),priv->space); + int wm=width()-moved; + if (m->x()>wm) + { + setToolTip (QString()); + leaveEvent ( m ); + return; + } + int i=0; + wm-=priv->space; + while (wm>0) + { + wm-=priv->action_size_c().width(); + wm-=priv->space; + + if (i>(priv->actions.count()-1))break; + + if (m->x() > wm) + { + setToolTip (priv->actions[i]->toolTip ()); + return; + } + i++; + } + + setToolTip (QString()); + leaveEvent ( m ); + +} + + +void QxtHeaderView::paintSection ( QPainter * painter, const QRect & rm, int logicalIndex ) const +{ + QRect rect=rm; + + + painter->save(); + QHeaderView::paintSection(painter,rect,logicalIndex); + painter->restore(); + + + subPaint(painter, rect, logicalIndex,priv->action_size_c(),priv->space); + int moved = subWidth(priv->action_size_c(),priv->space); + rect.adjust(0,0,-moved,0); + + rect.adjust(0,0,-priv->space,0); + QAction * a; + foreach(a, priv->actions) + { + QIcon img = a->icon(); + QRect r=QStyle::alignedRect ( Qt::LeftToRight, Qt::AlignRight | Qt::AlignVCenter, *priv->action_size,rect); + img.paint(painter, r.x(), r.y(), r.width(), r.height(), Qt::AlignCenter); + rect.adjust(0,0,-priv->action_size->width()-priv->space,0); ///shrink the available space rect + } +} + +void QxtHeaderView::mousePressEvent ( QMouseEvent * m ) +{ + if (!priv->action_size)return; + + subClick(m,priv->action_size_c(), priv->space ) ; + int moved = subWidth(priv->action_size_c(),priv->space); + + + int wm=width()-moved; + + if (m->x()>wm)return; + + int i=0; + wm-=priv->space; + while (wm>0) + { + wm-=priv->action_size_c().width(); + wm-=priv->space; + + if (i>(priv->actions.count()-1))break; + + if (m->x() > wm) + { + priv->actions[i]->trigger(); + break; + } + + i++; + } + + +// v +// | x | x | x | + +} + + +//----------------------------------------------------------------- +/*! + reimplement this to add your own icons, widgets, or whatever to the header.\n + */ + +void QxtHeaderView::subPaint(QPainter * , const QRect & , int ,QSize , int ) const + {} +/*! + reimplement this to receive clicks to your own icons,widgets, etc... + */ + +void QxtHeaderView::subClick(QMouseEvent * ,QSize , int) +{} +/*! + when reimplementing subPaint and/or subClick you must also override this function and return the width your custom drawing takes, + so the QActions know where to start. + */ + +int QxtHeaderView::subWidth(QSize , int ) const +{ + return 0; +} +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.h new file mode 100644 index 00000000..8ff29c51 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtheaderview.h @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#if 0 +#ifndef QxtHeaderViewHHGuard +#define QxtHeaderViewHHGuard +#include +#include + + +class QPainter; +class QAction; +class QxtHeaderViewPrivate; +class QXT_GUI_EXPORT QxtHeaderView : public QHeaderView +{ + Q_OBJECT + +public: + QxtHeaderView (Qt::Orientation orientation ,QWidget * parent); + void addAction(QAction * action); +protected: + virtual void subPaint(QPainter * painter, const QRect & rect, int logicalIndex,QSize icon_size, int spacing) const; + virtual void subClick(QMouseEvent * m,QSize icon_size, int spacing ) ; + virtual int subWidth(QSize icon_size, int spacing) const; +signals: + void checkBoxChanged(bool); + +private: + virtual void paintSection ( QPainter * painter, const QRect & rect, int logicalIndex ) const; + virtual void mousePressEvent ( QMouseEvent * m ); + virtual void mouseMoveEvent ( QMouseEvent * event ); + + QxtHeaderViewPrivate * priv;///TODO NO. this is wrong!!! + +}; + + +#endif +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.cpp new file mode 100644 index 00000000..ccb2d142 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.cpp @@ -0,0 +1,347 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtitemdelegate.h" +#include "qxtitemdelegate_p.h" +#include +#include +#include + +static const int TOP_LEVEL_EXTENT = 2; + +QxtItemDelegatePrivate::QxtItemDelegatePrivate() : + textVisible(true), + progressFormat("%1%"), + elide(Qt::ElideMiddle), + style(Qxt::NoDecoration) +{} + +void QxtItemDelegatePrivate::paintButton(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index, const QTreeView* view) const +{ + // draw the button + QStyleOptionButton buttonOption; + buttonOption.state = option.state; +#ifdef Q_WS_MAC + buttonOption.state |= QStyle::State_Raised; +#endif + buttonOption.state &= ~QStyle::State_HasFocus; + if (view->isExpanded(index)) + buttonOption.state |= QStyle::State_Sunken; + buttonOption.rect = option.rect; + buttonOption.palette = option.palette; + buttonOption.features = QStyleOptionButton::None; + view->style()->drawControl(QStyle::CE_PushButton, &buttonOption, painter, view); + + // draw the branch indicator + static const int i = 9; + const QRect& r = option.rect; + if (index.model()->hasChildren(index)) + { + QStyleOption branchOption; + branchOption.initFrom(view); + if (branchOption.direction == Qt::LeftToRight) + branchOption.rect = QRect(r.left() + i/2, r.top() + (r.height() - i)/2, i, i); + else + branchOption.rect = QRect(r.right() - i/2 - i, r.top() + (r.height() - i)/2, i, i); + branchOption.palette = option.palette; + branchOption.state = QStyle::State_Children; + if (view->isExpanded(index)) + branchOption.state |= QStyle::State_Open; + view->style()->drawPrimitive(QStyle::PE_IndicatorBranch, &branchOption, painter, view); + } + + // draw the text + QRect textrect = QRect(r.left() + i*2, r.top(), r.width() - ((5*i)/2), r.height()); +#if QT_VERSION < 0x040200 + QString text = QItemDelegate::elidedText(option.fontMetrics, textrect.width(), elide, index.data().toString()); +#else // QT_VERSION >= 0x040200 + QString text = option.fontMetrics.elidedText(index.data().toString(), elide, textrect.width()); +#endif // QT_VERSION + view->style()->drawItemText(painter, textrect, Qt::AlignCenter, option.palette, view->isEnabled(), text); +} + +void QxtItemDelegatePrivate::paintMenu(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index, const QTreeView* view) const +{ + // draw the menu bar item + QStyleOptionMenuItem menuOption; + menuOption.palette = view->palette(); + menuOption.fontMetrics = view->fontMetrics(); + menuOption.state = QStyle::State_None; + // QModelIndex::flags() was introduced in 4.2 + // => therefore "index.model()->flags(index)" + if (view->isEnabled() && index.model()->flags(index) & Qt::ItemIsEnabled) + menuOption.state |= QStyle::State_Enabled; + else + menuOption.palette.setCurrentColorGroup(QPalette::Disabled); + menuOption.state |= QStyle::State_Selected; + menuOption.state |= QStyle::State_Sunken; + menuOption.state |= QStyle::State_HasFocus; + menuOption.rect = option.rect; + menuOption.text = index.data().toString(); + menuOption.icon = QIcon(index.data(Qt::DecorationRole).value()); + view->style()->drawControl(QStyle::CE_MenuBarItem, &menuOption, painter, view); + + // draw the an arrow as a branch indicator + if (index.model()->hasChildren(index)) + { + QStyle::PrimitiveElement arrow; + if (view->isExpanded(index)) + arrow = QStyle::PE_IndicatorArrowUp; + else + arrow = QStyle::PE_IndicatorArrowDown; + static const int i = 9; + const QRect& r = option.rect; + menuOption.rect = QRect(r.left() + i/2, r.top() + (r.height() - i)/2, i, i); + view->style()->drawPrimitive(arrow, &menuOption, painter, view); + } +} + +void QxtItemDelegatePrivate::paintProgress(QPainter* painter, const QStyleOptionViewItem& option, int progress) const +{ + QStyleOptionProgressBar opt; + opt.minimum = 0; + opt.maximum = 100; + opt.rect = option.rect; + opt.progress = progress; + opt.textVisible = textVisible; + opt.text = progressFormat.arg(progress); + QApplication::style()->drawControl(QStyle::CE_ProgressBar, &opt, painter, 0); +} + +void QxtItemDelegatePrivate::setCurrentEditor(QWidget* editor, const QModelIndex& index) const +{ + currentEditor = editor; + currentEdited = index; +} + +void QxtItemDelegatePrivate::closeEditor(QWidget* editor) +{ + if (currentEdited.isValid() && editor == currentEditor) + { + setCurrentEditor(0, QModelIndex()); + emit qxt_p().editingFinished(currentEdited); + } +} + +/*! + \class QxtItemDelegate QxtItemDelegate + \ingroup QxtGui + \brief An extended QItemDelegate with additional signals and optional decoration. + + QxtItemDelegate provides signals for starting and finishing of editing + and an optional decoration for top level indices in a QTreeView. + QxtItemDelegate can also draw a progress bar for indices providing + appropriate progress data. + */ + +/*! + \fn QxtItemDelegate::editingStarted(const QModelIndex& index) + + This signal is emitted after the editing of \a index has been started. + + \sa editingFinished() + */ + +/*! + \fn QxtItemDelegate::editingFinished(const QModelIndex& index) + + This signal is emitted after the editing of \a index has been finished. + + \sa editingStarted() + */ + +/*! + Constructs a new QxtItemDelegate with \a parent. + */ +QxtItemDelegate::QxtItemDelegate(QObject* parent) : QItemDelegate(parent) +{ + QXT_INIT_PRIVATE(QxtItemDelegate); + connect(this, SIGNAL(closeEditor(QWidget*)), &qxt_d(), SLOT(closeEditor(QWidget*))); +} + +/*! + Destructs the item delegate. + */ +QxtItemDelegate::~QxtItemDelegate() +{} + +/*! + \property QxtItemDelegate::decorationStyle + \brief This property holds the top level index decoration style + + Top level indices are decorated according to this property. + The default value is \b Qxt::NoDecoration. + + \note The property has effect only in case the delegate is installed + on a QTreeView. The view must be the parent of the delegate. + + \note Set \b QTreeView::rootIsDecorated to \b false to avoid + multiple branch indicators. + + \sa Qxt::DecorationStyle, QTreeView::rootIsDecorated + */ +Qxt::DecorationStyle QxtItemDelegate::decorationStyle() const +{ + return qxt_d().style; +} + +void QxtItemDelegate::setDecorationStyle(Qxt::DecorationStyle style) +{ + qxt_d().style = style; +} + +/*! + \property QxtItemDelegate::elideMode + \brief This property holds the text elide mode + + The text of a decorated top level index is elided according to this property. + The default value is \b Qt::ElideMiddle. + + \note The property has effect only for decorated top level indices. + + \sa decorationStyle, Qt::TextElideMode + */ +Qt::TextElideMode QxtItemDelegate::elideMode() const +{ + return qxt_d().elide; +} + +void QxtItemDelegate::setElideMode(Qt::TextElideMode mode) +{ + qxt_d().elide = mode; +} + +/*! + \property QxtItemDelegate::progressTextFormat + \brief This property holds the format of optional progress text + + The progress text is formatted according to this property. + The default value is \b "%1%". + + \note Progress bar is rendered for indices providing valid + numerical data for \b ProgressRole. + + \note \b \%1 is replaced by the progress percent. + + \sa progressTextVisible, ProgressRole + */ +QString QxtItemDelegate::progressTextFormat() const +{ + return qxt_d().progressFormat; +} + +void QxtItemDelegate::setProgressTextFormat(const QString& format) +{ + qxt_d().progressFormat = format; +} + +/*! + \property QxtItemDelegate::progressTextVisible + \brief This property holds whether progress text is visible + + The default value is \b true. + + \note Progress bar is rendered for indices providing valid + numerical data for \b ProgressRole. + + \sa progressTextFormat, ProgressRole + */ +bool QxtItemDelegate::isProgressTextVisible() const +{ + return qxt_d().textVisible; +} + +void QxtItemDelegate::setProgressTextVisible(bool visible) +{ + qxt_d().textVisible = visible; +} + +QWidget* QxtItemDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const +{ + QWidget* editor = QItemDelegate::createEditor(parent, option, index); + qxt_d().setCurrentEditor(editor, index); + emit const_cast(this)->editingStarted(index); + return editor; +} + +void QxtItemDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const +{ + QItemDelegate::setModelData(editor, model, index); + qxt_d().setCurrentEditor(0, QModelIndex()); + emit const_cast(this)->editingFinished(index); +} + +void QxtItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const +{ + const QAbstractItemModel* model = index.model(); + const QTreeView* tree = dynamic_cast(parent()); + const bool topLevel = !index.parent().isValid(); + + if (tree && model && topLevel && qxt_d().style != Qxt::NoDecoration) + { + QStyleOptionViewItem opt; + opt.QStyleOption::operator=(option); + opt.showDecorationSelected = false; + + QModelIndex valid = model->index(index.row(), 0); + QModelIndex sibling = valid; + while (sibling.isValid()) + { + opt.rect |= tree->visualRect(sibling); + sibling = sibling.sibling(sibling.row(), sibling.column() + 1); + } + + switch (qxt_d().style) + { + case Qxt::Buttonlike: + qxt_d().paintButton(painter, opt, valid, tree); + break; + case Qxt::Menulike: + qxt_d().paintMenu(painter, opt, valid, tree); + break; + default: + qWarning("QxtItemDelegate::paint() unknown decoration style"); + QItemDelegate::paint(painter, opt, valid); + break; + } + } + else + { + QItemDelegate::paint(painter, option, index); + + bool ok = false; + const QVariant data = index.data(ProgressRole); + const int progress = data.toInt(&ok); + if (data.isValid() && ok) + qxt_d().paintProgress(painter, option, progress); + } +} + +QSize QxtItemDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const +{ + // something slightly bigger for top level indices + QSize size = QItemDelegate::sizeHint(option, index); + if (!index.parent().isValid()) + size += QSize(TOP_LEVEL_EXTENT, TOP_LEVEL_EXTENT); + return size; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.h new file mode 100644 index 00000000..202dbff8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTITEMDELEGATE_H +#define QXTITEMDELEGATE_H + +#include +#include "qxtglobal.h" +#include "qxtnamespace.h" +#include "qxtpimpl.h" + +class QxtItemDelegatePrivate; + +class QXT_GUI_EXPORT QxtItemDelegate : public QItemDelegate +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtItemDelegate); + Q_PROPERTY(Qxt::DecorationStyle decorationStyle READ decorationStyle WRITE setDecorationStyle) + Q_PROPERTY(Qt::TextElideMode elideMode READ elideMode WRITE setElideMode) + Q_PROPERTY(QString progressTextFormat READ progressTextFormat WRITE setProgressTextFormat) + Q_PROPERTY(bool progressTextVisible READ isProgressTextVisible WRITE setProgressTextVisible) + +public: + explicit QxtItemDelegate(QObject* parent = 0); + virtual ~QxtItemDelegate(); + + enum { ProgressRole = Qt::UserRole + 328 }; + + Qxt::DecorationStyle decorationStyle() const; + void setDecorationStyle(Qxt::DecorationStyle style); + + Qt::TextElideMode elideMode() const; + void setElideMode(Qt::TextElideMode mode); + + QString progressTextFormat() const; + void setProgressTextFormat(const QString& format); + + bool isProgressTextVisible() const; + void setProgressTextVisible(bool visible); + +#ifndef QXT_DOXYGEN_RUN + virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const; + virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const; + + virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const; + virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const; +#endif // QXT_DOXYGEN_RUN + +signals: + void editingStarted(const QModelIndex& index); + void editingFinished(const QModelIndex& index); +}; + +#endif // QXTITEMDELEGATE_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate_p.h new file mode 100644 index 00000000..11f49f60 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtitemdelegate_p.h @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTITEMDELEGATE_P_H +#define QXTITEMDELEGATE_P_H + +#include "qxtpimpl.h" +#include "qxtitemdelegate.h" +#include +#include + +class QPainter; +class QTreeView; + +class QxtItemDelegatePrivate : public QObject, public QxtPrivate +{ + Q_OBJECT + +public: + QXT_DECLARE_PUBLIC(QxtItemDelegate); + QxtItemDelegatePrivate(); + + void paintButton(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index, const QTreeView* view) const; + void paintMenu(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index, const QTreeView* view) const; + void paintProgress(QPainter* painter, const QStyleOptionViewItem& option, int progress) const; + void setCurrentEditor(QWidget* editor, const QModelIndex& index) const; + + bool textVisible; + QString progressFormat; + Qt::TextElideMode elide; + Qxt::DecorationStyle style; + mutable QPointer currentEditor; + mutable QPersistentModelIndex currentEdited; + +private slots: + void closeEditor(QWidget* editor); +}; + +#endif // QXTITEMDELEGATE_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.cpp new file mode 100644 index 00000000..453a9f8a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.cpp @@ -0,0 +1,316 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlabel.h" +#include +#include +#include +#include +#include +#if QT_VERSION < 0x040200 +#include +#endif // QT_VERSION + +static const int Vertical_Mask = 0x02; + +class QxtLabelPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtLabel); + + void init(const QString& txt = QString()); + void updateLabel(); + + QTime time; + QString text; + Qt::Alignment align; + Qt::TextElideMode mode; + Qxt::Rotation rot; +}; + +void QxtLabelPrivate::init(const QString& txt) +{ + text = txt; + align = Qt::AlignCenter; + mode = Qt::ElideMiddle; + rot = Qxt::NoRotation; +} + +void QxtLabelPrivate::updateLabel() +{ + qxt_p().updateGeometry(); + qxt_p().update(); +} + +/*! + \class QxtLabel QxtLabel + \ingroup QxtGui + \brief A label which is able to show elided and rotated plain text. + + QxtLabel is a label which is able to show elided and rotated plain text. + In addition, QxtLabel provides a signal for clicking. + + \image html qxtlabel.png "QxtLabel in action." + */ + +/*! + \fn QxtLabel::clicked() + + This signal is emitted whenever the label has been clicked. + + \note A combination of mouse button press and release in shorter + time than \b QApplication::doubleClickInterval is considered + as a click. + + \sa QApplication::doubleClickInterval + */ + +/*! + Constructs a new QxtLabel with \a parent and \a flags. + */ +QxtLabel::QxtLabel(QWidget* parent, Qt::WindowFlags flags) : QFrame(parent, flags) +{ + QXT_INIT_PRIVATE(QxtLabel); + qxt_d().init(); +} + +/*! + Constructs a new QxtLabel with \a text, \a parent and \a flags. + */ +QxtLabel::QxtLabel(const QString& text, QWidget* parent, Qt::WindowFlags flags) : QFrame(parent, flags) +{ + QXT_INIT_PRIVATE(QxtLabel); + qxt_d().init(text); +} + +/*! + Destructs the label. + */ +QxtLabel::~QxtLabel() +{} + +/*! + \property QxtLabel::text + \brief This property holds the text of the label + */ +QString QxtLabel::text() const +{ + return qxt_d().text; +} + +void QxtLabel::setText(const QString& text) +{ + if (qxt_d().text != text) + { + qxt_d().text = text; + qxt_d().updateLabel(); + emit textChanged(text); + } +} + +/*! + \property QxtLabel::alignment + \brief This property holds the alignment of the text + + The text is aligned according to this property. + The default value is \b Qt::AlignCenter. + + \sa text, Qt::Alignment + */ +Qt::Alignment QxtLabel::alignment() const +{ + return qxt_d().align; +} + +void QxtLabel::setAlignment(Qt::Alignment alignment) +{ + if (qxt_d().align != alignment) + { + qxt_d().align = alignment; + update(); // no geometry change, repaint is sufficient + } +} + +/*! + \property QxtLabel::elideMode + \brief This property holds the elide mode of the text + + The text is elided according to this property. + The default value is \b Qt::ElideMiddle. + + \sa text, Qt::TextElideMode + */ +Qt::TextElideMode QxtLabel::elideMode() const +{ + return qxt_d().mode; +} + +void QxtLabel::setElideMode(Qt::TextElideMode mode) +{ + if (qxt_d().mode != mode) + { + qxt_d().mode = mode; + qxt_d().updateLabel(); + } +} + +/*! + \property QxtLabel::rotation + \brief This property holds the rotation of the label + + The label is rotated according to this property. + The default value is \b Qxt::NoRotation. + + \sa Qxt::Rotation + */ +Qxt::Rotation QxtLabel::rotation() const +{ + return qxt_d().rot; +} + +void QxtLabel::setRotation(Qxt::Rotation rotation) +{ + if (qxt_d().rot != rotation) + { + Qxt::Rotation prev = qxt_d().rot; + qxt_d().rot = rotation; + switch (rotation) + { + case Qxt::NoRotation: + case Qxt::UpsideDown: + if (prev & Vertical_Mask) + { + updateGeometry(); + } + break; + + case Qxt::Clockwise: + case Qxt::CounterClockwise: + if ((prev & Vertical_Mask) == 0) + { + updateGeometry(); + } + break; + default: + // nothing to do + break; + } + } + update(); +} + +QSize QxtLabel::sizeHint() const +{ + const QFontMetrics& fm = fontMetrics(); + QSize size(fm.width(qxt_d().text), fm.height()); + if (qxt_d().rot & Vertical_Mask) + size.transpose(); + return size; +} + +QSize QxtLabel::minimumSizeHint() const +{ + switch (qxt_d().mode) + { +#if QT_VERSION >= 0x040200 + case Qt::ElideNone: + return sizeHint(); +#endif // QT_VERSION + default: + { + const QFontMetrics& fm = fontMetrics(); + QSize size(fm.width("..."), fm.height()); + if (qxt_d().rot & Vertical_Mask) + size.transpose(); + return size; + } + } +} + +void QxtLabel::paintEvent(QPaintEvent* event) +{ + QFrame::paintEvent(event); + QPainter p(this); + p.rotate(qxt_d().rot); + QRect r = contentsRect(); + switch (qxt_d().rot) + { + case Qxt::UpsideDown: + p.translate(-r.width(), -r.height()); + break; + + case Qxt::Clockwise: + p.translate(0, -r.width()); + break; + + case Qxt::CounterClockwise: + p.translate(-r.height(), 0); + break; + + default: + // nothing to do + break; + } + + if (qxt_d().rot & Vertical_Mask) + { + QSize s = r.size(); + s.transpose(); + r = QRect(r.topLeft(), s); + } + +#if QT_VERSION < 0x040200 + const QString elidedText = QAbstractItemDelegate::elidedText(fontMetrics(), r.width(), qxt_d().mode, qxt_d().text); +#else // QT_VERSION >= 0x040200 + const QString elidedText = fontMetrics().elidedText(qxt_d().text, qxt_d().mode, r.width()); +#endif // QT_VERSION + p.drawText(r, qxt_d().align, elidedText); +} + +void QxtLabel::changeEvent(QEvent* event) +{ + QFrame::changeEvent(event); + switch (event->type()) + { + case QEvent::FontChange: + case QEvent::ApplicationFontChange: + qxt_d().updateLabel(); + break; + default: + // nothing to do + break; + } +} + +void QxtLabel::mousePressEvent(QMouseEvent* event) +{ + QFrame::mousePressEvent(event); + qxt_d().time.start(); +} + +void QxtLabel::mouseReleaseEvent(QMouseEvent* event) +{ + QFrame::mouseReleaseEvent(event); + if (qxt_d().time.elapsed() < qApp->doubleClickInterval()) + emit clicked(); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.h new file mode 100644 index 00000000..825e9563 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlabel.h @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLABEL_H +#define QXTLABEL_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtLabelPrivate; + +class QXT_GUI_EXPORT QxtLabel : public QFrame +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtLabel); + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment) + Q_PROPERTY(Qt::TextElideMode elideMode READ elideMode WRITE setElideMode) + Q_PROPERTY(Qxt::Rotation rotation READ rotation WRITE setRotation) + +public: + explicit QxtLabel(QWidget* parent = 0, Qt::WindowFlags flags = 0); + explicit QxtLabel(const QString& text, QWidget* parent = 0, Qt::WindowFlags flags = 0); + virtual ~QxtLabel(); + + QString text() const; + + Qt::Alignment alignment() const; + void setAlignment(Qt::Alignment alignment); + + Qt::TextElideMode elideMode() const; + void setElideMode(Qt::TextElideMode mode); + + Qxt::Rotation rotation() const; + void setRotation(Qxt::Rotation rotation); + +#ifndef QXT_DOXYGEN_RUN + virtual QSize sizeHint() const; + virtual QSize minimumSizeHint() const; +#endif // QXT_DOXYGEN_RUN + +public slots: + void setText(const QString& text); + +signals: + void clicked(); + void textChanged(const QString& text); + +#ifndef QXT_DOXYGEN_RUN +protected: + virtual void changeEvent(QEvent* event); + virtual void mousePressEvent(QMouseEvent* event); + virtual void mouseReleaseEvent(QMouseEvent* event); + virtual void paintEvent(QPaintEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTLABEL_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp new file mode 100644 index 00000000..1477d498 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlistwidget.h" +#include "qxtitemdelegate.h" +#include "qxtlistwidget_p.h" + +QxtListWidgetPrivate::QxtListWidgetPrivate() +{} + +void QxtListWidgetPrivate::informStartEditing(const QModelIndex& index) +{ + QListWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingStarted(item); +} + +void QxtListWidgetPrivate::informFinishEditing(const QModelIndex& index) +{ + QListWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingFinished(item); +} + +/*! + \class QxtListWidget QxtListWidget + \ingroup QxtGui + \brief An extended QListWidget with additional signals. + + QxtListWidget offers a few most commonly requested signals. + + \image html qxtlistwidget.png "QxtListWidget in Plastique style." + */ + +/*! + \fn QxtListWidget::itemEditingStarted(QListWidgetItem* item) + + This signal is emitted after the editing of \a item has been started. + + \sa itemEditingFinished() + */ + +/*! + \fn QxtListWidget::itemEditingFinished(QListWidgetItem* item) + + This signal is emitted after the editing of \a item has been finished. + + \sa itemEditingStarted() + */ + +/*! + \fn QxtListWidget::itemCheckStateChanged(QxtListWidgetItem* item) + + This signal is emitted whenever the check state of \a item has changed. + + \note Use QxtListWidgetItem in order to enable this feature. + + \sa QxtListWidgetItem, QListWidgetItem::checkState() + */ + +/*! + Constructs a new QxtListWidget with \a parent. + */ +QxtListWidget::QxtListWidget(QWidget* parent) : QListWidget(parent) +{ + QXT_INIT_PRIVATE(QxtListWidget); + QxtItemDelegate* delegate = new QxtItemDelegate(this); + connect(delegate, SIGNAL(editingStarted(const QModelIndex&)), + &qxt_d(), SLOT(informStartEditing(const QModelIndex&))); + connect(delegate, SIGNAL(editingFinished(const QModelIndex&)), + &qxt_d(), SLOT(informFinishEditing(const QModelIndex&))); + setItemDelegate(delegate); +} + +/*! + Destructs the list widget. + */ +QxtListWidget::~QxtListWidget() +{} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.h new file mode 100644 index 00000000..09a04798 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.h @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLISTWIDGET_H +#define QXTLISTWIDGET_H + +#include +#include "qxtpimpl.h" +#include "qxtglobal.h" +#include "qxtlistwidgetitem.h" + +class QxtListWidgetPrivate; + +class QXT_GUI_EXPORT QxtListWidget : public QListWidget +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtListWidget); + friend class QxtListWidgetItem; + +public: + explicit QxtListWidget(QWidget* parent = 0); + virtual ~QxtListWidget(); + +signals: + void itemEditingStarted(QListWidgetItem* item); + void itemEditingFinished(QListWidgetItem* item); + void itemCheckStateChanged(QxtListWidgetItem* item); +}; + +#endif // QXTLISTWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget_p.h new file mode 100644 index 00000000..488659a8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget_p.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLISTWIDGET_P_H +#define QXTLISTWIDGET_P_H + +#include "qxtpimpl.h" +#include "qxtlistwidget.h" + +class QxtItemDelegate; + +class QxtListWidgetPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT +public: + QXT_DECLARE_PUBLIC(QxtListWidget); + QxtListWidgetPrivate(); + +private slots: + void informStartEditing(const QModelIndex& index); + void informFinishEditing(const QModelIndex& index); +}; + +#endif // QXTLISTWIDGET_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.cpp new file mode 100644 index 00000000..76cc156e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.cpp @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlistwidgetitem.h" +#include "qxtlistwidget.h" + +/*! + \class QxtListWidgetItem QxtListWidgetItem + \ingroup QxtGui + \brief An extended QListWidgetItem. + + QxtListWidgetItem provides means for offering check state change signals and + convenience methods for testing and setting flags. + + \sa QxtListWidget + */ + + +QxtListWidgetItem::QxtListWidgetItem(QListWidget* parent, int type) + : QListWidgetItem(parent, type) +{} + +QxtListWidgetItem::QxtListWidgetItem(const QString& text, QListWidget* parent, int type) + : QListWidgetItem(text, parent, type) +{} + +QxtListWidgetItem::QxtListWidgetItem(const QIcon& icon, const QString& text, QListWidget* parent, int type) + : QListWidgetItem(icon, text, parent, type) +{} + +QxtListWidgetItem::QxtListWidgetItem(const QxtListWidgetItem& other) + : QListWidgetItem(other) +{} + +QxtListWidgetItem::~QxtListWidgetItem() +{} + +/*! + Returns \b true if the \a flag is set, otherwise \b false. + + \sa setFlag(), QListWidgetItem::flags(), Qt::ItemFlag + */ +bool QxtListWidgetItem::testFlag(Qt::ItemFlag flag) const +{ + return (flags() & flag); +} + +/*! + If \a enabled is \b true, the item \a flag is enabled; otherwise, it is disabled. + + \sa testFlag(), QListWidgetItem::setFlags(), Qt::ItemFlag + */ +void QxtListWidgetItem::setFlag(Qt::ItemFlag flag, bool enabled) +{ + if (enabled) + setFlags(flags() | flag); + else + setFlags(flags() & ~flag); +} + +void QxtListWidgetItem::setData(int role, const QVariant& value) +{ + if (role == Qt::CheckStateRole) + { + const Qt::CheckState newState = static_cast(value.toInt()); + const Qt::CheckState oldState = static_cast(data(role).toInt()); + + QListWidgetItem::setData(role, value); + + if (newState != oldState) + { + QxtListWidget* list = qobject_cast(listWidget()); + if (list) + { + emit list->itemCheckStateChanged(this); + } + } + } + else + { + QListWidgetItem::setData(role, value); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.h new file mode 100644 index 00000000..1453342d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidgetitem.h @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLISTWIDGETITEM_H +#define QXTLISTWIDGETITEM_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" + +class QXT_GUI_EXPORT QxtListWidgetItem : public QListWidgetItem +{ +public: + explicit QxtListWidgetItem(QListWidget* parent = 0, int type = Type); + explicit QxtListWidgetItem(const QString& text, QListWidget* parent = 0, int type = Type); + explicit QxtListWidgetItem(const QIcon& icon, const QString& text, QListWidget* parent = 0, int type = Type); + explicit QxtListWidgetItem(const QxtListWidgetItem& other); + virtual ~QxtListWidgetItem(); + + bool testFlag(Qt::ItemFlag flag) const; + void setFlag(Qt::ItemFlag flag, bool enabled = true); + +#ifndef QXT_DOXYGEN_RUN + virtual void setData(int role, const QVariant& value); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTLISTWIDGETITEM_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtnativeeventfilter.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtnativeeventfilter.h new file mode 100644 index 00000000..3fedf6a7 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtnativeeventfilter.h @@ -0,0 +1,119 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTNATIVEEVENTFILTER_H +#define QXTNATIVEEVENTFILTER_H + +#include "qxtapplication.h" + +typedef struct tagMSG MSG; +typedef union _XEvent XEvent; +typedef struct OpaqueEventRef *EventRef; +typedef struct OpaqueEventHandlerCallRef *EventHandlerCallRef; + +/*! + \class QxtNativeEventFilter QxtNativeEventFilter + \ingroup QxtGui + \brief A native event filter to access platform specific events. + + QxtNativeEventFilter provides access to platform specific native events + without the need of subclassing QApplication. + + \note QxtNativeEventFilter requires QxtApplication. + + Example usage: + \code + qxtApp->installNativeEventFilter(myWindow); + + class MyWindow : public QWidget, public QxtNativeEventFilter { + public: + ... + + bool x11EventFilter(XEvent* event) { + if (event->type == ...) { + ... + } + return false; + } + + bool winEventFilter(MSG* msg, long* result) { + if (msg->message == ...) { + ... + } + return false; + } + + bool macEventFilter(EventHandlerCallRef caller, EventRef event) { + if (GetEventClass(event) == ...) { + ... + } + return false; + } + }; + \endcode + + \sa QxtApplication::installNativeEventFilter() + */ + +/*! + \fn QxtNativeEventFilter::x11EventFilter(XEvent* event) + + Filters X11 events if this object has been installed as a native event filter. + In your reimplementation of this function, if you want to filter the event out, + i.e. stop it being handled further, return \b true; otherwise return \b false. + + \sa QxtApplication::installNativeEventFilter() + */ + +/*! + \fn QxtNativeEventFilter::winEventFilter(MSG* msg, long* result) + + Filters Windows events if this object has been installed as a native event filter. + In your reimplementation of this function, if you want to filter the event out, + i.e. stop it being handled further, return \b true; otherwise return \b false. + + \sa QxtApplication::installNativeEventFilter() + */ + +/*! + \fn QxtNativeEventFilter::macEventFilter(EventHandlerCallRef caller, EventRef event) + + Filters Mac events if this object has been installed as a native event filter. + In your reimplementation of this function, if you want to filter the event out, + i.e. stop it being handled further, return \b true; otherwise return \b false. + + \sa QxtApplication::installNativeEventFilter() + */ + +class QxtNativeEventFilter +{ +public: + virtual ~QxtNativeEventFilter() + { qxtApp->removeNativeEventFilter(this); } + + virtual bool x11EventFilter(XEvent* event) = 0; + virtual bool winEventFilter(MSG* msg, long* result) = 0; + virtual bool macEventFilter(EventHandlerCallRef caller, EventRef event) = 0; +}; + +#endif // QXTNATIVEEVENTFILTER_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.cpp new file mode 100644 index 00000000..26591122 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.cpp @@ -0,0 +1,250 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtprogresslabel.h" +#include +#include +#include + +class QxtProgressLabelPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtProgressLabel); + QxtProgressLabelPrivate(); + + QTime start; + int interval; + int cachedMin; + int cachedMax; + int cachedVal; + QString cformat; + QString tformat; + QBasicTimer timer; +}; + +QxtProgressLabelPrivate::QxtProgressLabelPrivate() + : interval(-1), cachedMin(0), cachedMax(0), cachedVal(0) +{} + +/*! + \class QxtProgressLabel QxtProgressLabel + \ingroup QxtGui + \brief A label showing progress related time values. + + QxtProgressLabel is a label widget able to show elapsed and remaining + time of a progress. Usage is as simple as connecting signal + \b QProgressBar::valueChanged() to slot QxtProgressLabel::setValue(). + + Example usage: + \code + QProgressBar* bar = new QProgressBar(this); + QxtProgressLabel* label = new QxtProgressLabel(this); + connect(bar, SIGNAL(valueChanged(int)), label, SLOT(setValue(int))); + \endcode + + \image html qxtprogresslabel.png "QxtProgressLabel in action." + */ + +/*! + Constructs a new QxtProgressLabel with \a parent and \a flags. + */ +QxtProgressLabel::QxtProgressLabel(QWidget* parent, Qt::WindowFlags flags) + : QLabel(parent, flags) +{ + QXT_INIT_PRIVATE(QxtProgressLabel); + refresh(); +} + +/*! + Constructs a new QxtProgressLabel with \a text, \a parent and \a flags. + */ +QxtProgressLabel::QxtProgressLabel(const QString& text, QWidget* parent, Qt::WindowFlags flags) + : QLabel(text, parent, flags) +{ + QXT_INIT_PRIVATE(QxtProgressLabel); + refresh(); +} + +/*! + Destructs the progress label. + */ +QxtProgressLabel::~QxtProgressLabel() +{} + +/*! + \property QxtProgressLabel::contentFormat + \brief This property holds the content format of the progress label + + The content of the label is formatted according to this property. + The default value is an empty string which defaults to \b "ETA: %r". + + The following variables may be used in the format string: + + + + +
    VariableOutput
    \%eelapsed time
    \%rremaining time
    + + \sa timeFormat + */ +QString QxtProgressLabel::contentFormat() const +{ + return qxt_d().cformat; +} + +void QxtProgressLabel::setContentFormat(const QString& format) +{ + if (qxt_d().cformat != format) + { + qxt_d().cformat = format; + refresh(); + } +} + +/*! + \property QxtProgressLabel::timeFormat + \brief This property holds the time format of the progress label + + Time values are formatted according to this property. + The default value is an empty string which defaults to \b "mm:ss". + + \sa contentFormat, QTime::toString() + */ +QString QxtProgressLabel::timeFormat() const +{ + return qxt_d().tformat; +} + +void QxtProgressLabel::setTimeFormat(const QString& format) +{ + if (qxt_d().tformat != format) + { + qxt_d().tformat = format; + refresh(); + } +} + +/*! + \property QxtProgressLabel::updateInterval + \brief This property holds the update interval of the progress label + + The content of the progress label is updated according to this interval. + A negative interval makes the content to update only during value changes. + The default value is \b -1. + */ +int QxtProgressLabel::updateInterval() const +{ + return qxt_d().interval; +} + +void QxtProgressLabel::setUpdateInterval(int msecs) +{ + qxt_d().interval = msecs; + if (msecs < 0) + { + if (qxt_d().timer.isActive()) + qxt_d().timer.stop(); + } + else + { + if (!qxt_d().timer.isActive()) + qxt_d().timer.start(msecs, this); + } +} + +/*! + Sets the current value to \a value. + + \note Calling this slot by hand has no effect. + Connect this slot to \b QProgressBar::valueChange(). + */ +void QxtProgressLabel::setValue(int value) +{ + QProgressBar* bar = qobject_cast(sender()); + if (bar) + { + if (!qxt_d().start.isValid()) + restart(); + + qxt_d().cachedMin = bar->minimum(); + qxt_d().cachedMax = bar->maximum(); + qxt_d().cachedVal = value; + + refresh(); + } +} + +/*! + Restarts the calculation of elapsed and remaining times. + */ +void QxtProgressLabel::restart() +{ + qxt_d().cachedMin = 0; + qxt_d().cachedMax = 0; + qxt_d().cachedVal = 0; + qxt_d().start.restart(); + refresh(); +} + +/*! + Refreshes the content. + */ +void QxtProgressLabel::refresh() +{ + // elapsed + qreal elapsed = 0; + if (qxt_d().start.isValid()) + elapsed = qxt_d().start.elapsed() / 1000.0; + QTime etime(0, 0); + etime = etime.addSecs(static_cast(elapsed)); + + // percentage + qreal percent = 0; + if (qxt_d().cachedMax != 0) + percent = (qxt_d().cachedVal - qxt_d().cachedMin) / static_cast(qxt_d().cachedMax); + qreal total = 0; + if (percent != 0) + total = elapsed / percent; + + // remaining + QTime rtime(0, 0); + rtime = rtime.addSecs(static_cast(total - elapsed)); + + // format + QString tformat = qxt_d().tformat; + if (tformat.isEmpty()) + tformat = tr("mm:ss"); + QString cformat = qxt_d().cformat; + if (cformat.isEmpty()) + cformat = tr("ETA: %r"); + + QString result = QString(cformat).replace("%e", etime.toString(tformat)); + result = result.replace("%r", rtime.toString(tformat)); + setText(result); +} + +void QxtProgressLabel::timerEvent(QTimerEvent* event) +{ + Q_UNUSED(event); + refresh(); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.h new file mode 100644 index 00000000..989b755c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtprogresslabel.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTPROGRESSLABEL_H +#define QXTPROGRESSLABEL_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtProgressLabelPrivate; + +class QXT_GUI_EXPORT QxtProgressLabel : public QLabel +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtProgressLabel); + Q_PROPERTY(QString contentFormat READ contentFormat WRITE setContentFormat) + Q_PROPERTY(QString timeFormat READ timeFormat WRITE setTimeFormat) + Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval) + +public: + explicit QxtProgressLabel(QWidget* parent = 0, Qt::WindowFlags flags = 0); + explicit QxtProgressLabel(const QString& text, QWidget* parent = 0, Qt::WindowFlags flags = 0); + virtual ~QxtProgressLabel(); + + QString contentFormat() const; + void setContentFormat(const QString& format); + + QString timeFormat() const; + void setTimeFormat(const QString& format); + + int updateInterval() const; + void setUpdateInterval(int msecs); + +public slots: + void setValue(int value); + void refresh(); + void restart(); + +#ifndef QXT_DOXYGEN_RUN + virtual void timerEvent(QTimerEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTPROGRESSLABEL_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.cpp new file mode 100644 index 00000000..2278787c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.cpp @@ -0,0 +1,209 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include +#include "qxtproxystyle.h" + +/*! + \class QxtProxyStyle QxtProxyStyle + \ingroup QxtGui + \brief A proxy style. + + A technique called "proxy style" is a common way for creating + cross-platform custom styles. Developers often want to do slight + adjustments in some specific values returned by QStyle. A proxy + style is the solution to avoid subclassing any platform specific + style (eg. QPlastiqueStyle, QWindowsXPStyle, or QMacStyle) and + to retain the native look on all supported platforms. + + The subject has been discussed in Qt Quarterly 9: + http://doc.trolltech.com/qq/qq09-q-and-a.html#style (just notice + that there are a few noteworthy spelling mistakes in the article). + + Proxy styles are becoming obsolete thanks to style sheets + introduced in Qt 4.2. However, style sheets still is a new + concept and only a portion of features are supported yet. Both - + style sheets and proxy styles - have their pros and cons. + + \section usage Usage + + Implement the custom behaviour in a subclass of QxtProxyStyle: + \code + class MyCustomStyle : public QxtProxyStyle + { + public: + MyCustomStyle(const QString& baseStyle) : QxtProxyStyle(baseStyle) + { + } + + int pixelMetric(PixelMetric metric, const QStyleOption* option = 0, const QWidget* widget = 0) const + { + if (metric == QStyle::PM_ButtonMargin) + return 6; + return QxtProxyStyle::pixelMetric(metric, option, widget); + } + }; + \endcode + + Using the custom style for the whole application: + \code + QString defaultStyle = QApplication::style()->objectName(); + QApplication::setStyle(new MyCustomStyle(defaultStyle)); + \endcode + + Using the custom style for a single widget: + \code + QString defaultStyle = widget->style()->objectName(); + widget->setStyle(new MyCustomStyle(defaultStyle)); + \endcode + */ + +/*! + Constructs a new QxtProxyStyle for \a style. + See QStyleFactory::keys() for supported styles. + + \sa QStyleFactory::keys() + */ +QxtProxyStyle::QxtProxyStyle(const QString& baseStyle) + : QStyle(), style(QStyleFactory::create(baseStyle)) +{ + setObjectName(QLatin1String("proxy")); +} + +/*! + Destructs the proxy style. + */ +QxtProxyStyle::~QxtProxyStyle() +{ + delete style; +} + +void QxtProxyStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex* option, QPainter* painter, const QWidget* widget) const +{ + style->drawComplexControl(control, option, painter, widget); +} + +void QxtProxyStyle::drawControl(ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget) const +{ + style->drawControl(element, option, painter, widget); +} + +void QxtProxyStyle::drawItemPixmap(QPainter* painter, const QRect& rect, int alignment, const QPixmap& pixmap) const +{ + style->drawItemPixmap(painter, rect, alignment, pixmap); +} + +void QxtProxyStyle::drawItemText(QPainter* painter, const QRect& rect, int alignment, const QPalette& pal, bool enabled, const QString& text, QPalette::ColorRole textRole) const +{ + style->drawItemText(painter, rect, alignment, pal, enabled, text, textRole); +} + +void QxtProxyStyle::drawPrimitive(PrimitiveElement elem, const QStyleOption* option, QPainter* painter, const QWidget* widget) const +{ + style->drawPrimitive(elem, option, painter, widget); +} + +QPixmap QxtProxyStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap& pixmap, const QStyleOption* option) const +{ + return style->generatedIconPixmap(iconMode, pixmap, option); +} + +QStyle::SubControl QxtProxyStyle::hitTestComplexControl(ComplexControl control, const QStyleOptionComplex* option, const QPoint& pos, const QWidget* widget) const +{ + return style->hitTestComplexControl(control, option, pos, widget); +} + +QRect QxtProxyStyle::itemPixmapRect(const QRect& rect, int alignment, const QPixmap& pixmap) const +{ + return style->itemPixmapRect(rect, alignment, pixmap); +} + +QRect QxtProxyStyle::itemTextRect(const QFontMetrics& metrics, const QRect& rect, int alignment, bool enabled, const QString& text) const +{ + return style->itemTextRect(metrics, rect, alignment, enabled, text); +} + +int QxtProxyStyle::pixelMetric(PixelMetric metric, const QStyleOption* option, const QWidget* widget) const +{ + return style->pixelMetric(metric, option, widget); +} + +void QxtProxyStyle::polish(QWidget* widget) +{ + style->polish(widget); +} + +void QxtProxyStyle::polish(QApplication* app) +{ + style->polish(app); +} + +void QxtProxyStyle::polish(QPalette& pal) +{ + style->polish(pal); +} + +QSize QxtProxyStyle::sizeFromContents(ContentsType type, const QStyleOption* option, const QSize& contentsSize, const QWidget* widget) const +{ + return style->sizeFromContents(type, option, contentsSize, widget); +} + +QIcon QxtProxyStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption* option, const QWidget* widget) const +{ + return style->standardIcon(standardIcon, option, widget); +} + +QPalette QxtProxyStyle::standardPalette() const +{ + return style->standardPalette(); +} + +QPixmap QxtProxyStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOption* option, const QWidget* widget) const +{ + return style->standardPixmap(standardPixmap, option, widget); +} + +int QxtProxyStyle::styleHint(StyleHint hint, const QStyleOption* option, const QWidget* widget, QStyleHintReturn* returnData) const +{ + return style->styleHint(hint, option, widget, returnData); +} + +QRect QxtProxyStyle::subControlRect(ComplexControl control, const QStyleOptionComplex* option, SubControl subControl, const QWidget* widget) const +{ + return style->subControlRect(control, option, subControl, widget); +} + +QRect QxtProxyStyle::subElementRect(SubElement element, const QStyleOption* option, const QWidget* widget) const +{ + return style->subElementRect(element, option, widget); +} + +void QxtProxyStyle::unpolish(QWidget* widget) +{ + style->unpolish(widget); +} + +void QxtProxyStyle::unpolish(QApplication* app) +{ + style->unpolish(app); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.h new file mode 100644 index 00000000..8865fdef --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtproxystyle.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTPROXYSTYLE_H +#define QXTPROXYSTYLE_H + +#include +#include "qxtglobal.h" + +class QXT_GUI_EXPORT QxtProxyStyle : public QStyle +{ +public: + explicit QxtProxyStyle(const QString& baseStyle); + virtual ~QxtProxyStyle(); + +#ifndef QXT_DOXYGEN_RUN + virtual void drawComplexControl(ComplexControl control, const QStyleOptionComplex* option, QPainter* painter, const QWidget* widget = 0) const; + virtual void drawControl(ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget = 0) const; + virtual void drawItemPixmap(QPainter* painter, const QRect& rect, int alignment, const QPixmap& pixmap) const; + virtual void drawItemText(QPainter* painter, const QRect& rect, int alignment, const QPalette& pal, bool enabled, const QString& text, QPalette::ColorRole textRole = QPalette::NoRole) const; + virtual void drawPrimitive(PrimitiveElement elem, const QStyleOption* option, QPainter* painter, const QWidget* widget = 0) const; + virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap& pixmap, const QStyleOption* option) const; + virtual SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex* option, const QPoint& pos, const QWidget* widget = 0) const; + virtual QRect itemPixmapRect(const QRect& rect, int alignment, const QPixmap& pixmap) const; + virtual QRect itemTextRect(const QFontMetrics& metrics, const QRect& rect, int alignment, bool enabled, const QString& text) const; + virtual int pixelMetric(PixelMetric metric, const QStyleOption* option = 0, const QWidget* widget = 0) const; + virtual void polish(QWidget* widget); + virtual void polish(QApplication* app); + virtual void polish(QPalette& pal); + virtual QSize sizeFromContents(ContentsType type, const QStyleOption* option, const QSize& contentsSize, const QWidget* widget = 0) const; + virtual QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption* option = 0, const QWidget* widget = 0) const; + virtual QPalette standardPalette() const; + virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption* option = 0, const QWidget* widget = 0) const; + virtual int styleHint(StyleHint hint, const QStyleOption* option = 0, const QWidget* widget = 0, QStyleHintReturn* returnData = 0) const; + virtual QRect subControlRect(ComplexControl control, const QStyleOptionComplex* option, SubControl subControl, const QWidget* widget = 0) const; + virtual QRect subElementRect(SubElement element, const QStyleOption* option, const QWidget* widget = 0) const; + virtual void unpolish(QWidget* widget); + virtual void unpolish(QApplication* app); +#endif // QXT_DOXYGEN_RUN + +private: + QStyle* style; +}; + +#endif // QXTPROXYSTYLE_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.cpp new file mode 100644 index 00000000..9b3cf8a9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.cpp @@ -0,0 +1,322 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtpushbutton.h" +#include +#include +#include +#include +#include +#include + +static const int Vertical_Mask = 0x02; + +class QxtPushButtonPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtPushButton); + QxtPushButtonPrivate(); + + bool isRichText() const; + QStyleOptionButton getStyleOption() const; + + QString text; + Qxt::Rotation rot; + Qt::TextFormat format; + mutable QTextDocument* doc; +}; + +QxtPushButtonPrivate::QxtPushButtonPrivate() : + rot(Qxt::NoRotation), format(Qt::PlainText), doc(0) +{} + +bool QxtPushButtonPrivate::isRichText() const +{ +#if QT_VERSION >= 0x040200 + bool rich = (format == Qt::RichText) || (format == Qt::AutoText && Qt::mightBeRichText(qxt_p().text())); + if (rich && !doc) + { + doc = new QTextDocument(const_cast(&qxt_p())); + doc->setUndoRedoEnabled(false); + } +#else // QT_VERSION < 0x040200 + bool rich = false; +#endif // QT_VERSION + return rich; +} + +QStyleOptionButton QxtPushButtonPrivate::getStyleOption() const +{ + QStyleOptionButton option; + option.initFrom(&qxt_p()); + if (rot & Vertical_Mask) + { + QSize size = option.rect.size(); + size.transpose(); + option.rect.setSize(size); + } + option.features = QStyleOptionButton::None; + if (qxt_p().isFlat()) + option.features |= QStyleOptionButton::Flat; + if (qxt_p().menu()) + option.features |= QStyleOptionButton::HasMenu; + if (qxt_p().autoDefault() || qxt_p().isDefault()) + option.features |= QStyleOptionButton::AutoDefaultButton; + if (qxt_p().isDefault()) + option.features |= QStyleOptionButton::DefaultButton; + if (qxt_p().isDown() || (qxt_p().menu() && qxt_p().menu()->isVisible())) + option.state |= QStyle::State_Sunken; + if (qxt_p().isChecked()) + option.state |= QStyle::State_On; + if (!qxt_p().isFlat() && !qxt_p().isDown()) + option.state |= QStyle::State_Raised; + if (!isRichText()) + { + option.text = qxt_p().text(); + option.icon = qxt_p().icon(); + option.iconSize = qxt_p().iconSize(); + } + return option; +} + +/*! + \class QxtPushButton QxtPushButton + \ingroup QxtGui + \brief An extended QPushButton with rotation and rich text support. + + QxtPushButton is a QPushButton which can be rotated. In addition, QxtPushButton + provides rich text support. + + \image html qxtpushbutton.png "QxtPushButton in action." + */ + +/*! + Constructs a new QxtPushButton with \a parent. + */ +QxtPushButton::QxtPushButton(QWidget* parent) : QPushButton(parent) +{ + QXT_INIT_PRIVATE(QxtPushButton); +} + +/*! + Constructs a new QxtPushButton with \a text and \a parent. + */ +QxtPushButton::QxtPushButton(const QString& text, QWidget* parent) : QPushButton(text, parent) +{ + QXT_INIT_PRIVATE(QxtPushButton); +} + +/*! + Constructs a new QxtPushButton with \a icon, \a text and \a parent. + + \note An icon is not rendered when using rich text. + */ +QxtPushButton::QxtPushButton(const QIcon& icon, const QString& text, QWidget* parent) : QPushButton(icon, text, parent) +{ + QXT_INIT_PRIVATE(QxtPushButton); +} + +/*! + Constructs a new QxtPushButton with \a rotation, \a text and \a parent. + */ +QxtPushButton::QxtPushButton(Qxt::Rotation rotation, const QString& text, QWidget* parent) : QPushButton(text, parent) +{ + QXT_INIT_PRIVATE(QxtPushButton); + setRotation(rotation); +} + +/*! + Destructs the button. + */ +QxtPushButton::~QxtPushButton() +{} + +/*! + \property QxtPushButton::rotation + \brief This property holds the rotation of the button + + The button is rotated according to this property. + The default value is \b Qxt::NoRotation. + + \sa Qxt::Rotation + */ +Qxt::Rotation QxtPushButton::rotation() const +{ + return qxt_d().rot; +} + +void QxtPushButton::setRotation(Qxt::Rotation rotation) +{ + if (qxt_d().rot != rotation) + { + qxt_d().rot = rotation; + switch (rotation) + { + case Qxt::NoRotation: + case Qxt::UpsideDown: + setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + break; + + case Qxt::Clockwise: + case Qxt::CounterClockwise: + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); + break; + + default: + // nothing to do + break; + } + updateGeometry(); + update(); + } +} + +/*! + \property QxtPushButton::textFormat + \brief This property holds the text format of the button + + Supported formats are \b Qt::PlainText, \b Qt::RichText and \b Qt::AutoText. + + The default format is \b Qt::PlainText. + + \note Rich text requires Qt 4.2 or newer. + + \sa Qt::TextFormat + */ +Qt::TextFormat QxtPushButton::textFormat() const +{ + return qxt_d().format; +} + +void QxtPushButton::setTextFormat(Qt::TextFormat format) +{ + if (qxt_d().format != format) + { + qxt_d().format = format; + if (!qxt_d().isRichText()) + { + delete qxt_d().doc; + qxt_d().doc = 0; + } + qxt_d().text.clear(); + update(); + updateGeometry(); + } +} + +QSize QxtPushButton::sizeHint() const +{ + QSize size; + if (qxt_d().isRichText()) + size = qxt_d().doc->documentLayout()->documentSize().toSize(); + else + size = QPushButton::sizeHint(); + + if (qxt_d().rot & Vertical_Mask) + size.transpose(); + return size; +} + +QSize QxtPushButton::minimumSizeHint() const +{ + QSize size; + if (qxt_d().isRichText()) + size = qxt_d().doc->documentLayout()->documentSize().toSize(); + else + size = QPushButton::minimumSizeHint(); + + if (qxt_d().rot & Vertical_Mask) + size.transpose(); + return size; +} + +void QxtPushButton::paintEvent(QPaintEvent* event) +{ + Q_UNUSED(event); + + // the only reliable way to detect text changes + if (text() != qxt_d().text) + { + qxt_d().text = text(); + if (qxt_d().isRichText()) + qxt_d().doc->setHtml(qxt_d().text); + updateGeometry(); + } + + QStylePainter painter(this); + painter.rotate(qxt_d().rot); + switch (qxt_d().rot) + { + case Qxt::UpsideDown: + painter.translate(-width(), -height()); + break; + + case Qxt::Clockwise: + painter.translate(0, -width()); + break; + + case Qxt::CounterClockwise: + painter.translate(-height(), 0); + break; + + default: + // nothing to do + break; + } + + const QStyleOptionButton option = qxt_d().getStyleOption(); + painter.drawControl(QStyle::CE_PushButton, option); + +#if QT_VERSION >= 0x040200 + if (qxt_d().isRichText()) + { + int dx = 0; + int dy = 0; + if (option.state & (QStyle::State_On | QStyle::State_Sunken)) + { + dx += style()->pixelMetric(QStyle::PM_ButtonShiftHorizontal, &option, this); + dy += style()->pixelMetric(QStyle::PM_ButtonShiftVertical, &option, this); + } + + QRect area = rect(); + const QSizeF docSize = qxt_d().doc->documentLayout()->documentSize(); + if (qxt_d().rot & Vertical_Mask) + { + dx += static_cast((height() - docSize.width()) / 2); + dy += static_cast((width() - docSize.height()) / 2); + painter.translate(dx, dy); + + QSize size = area.size(); + size.transpose(); + area.setSize(size); + } + else + { + dx += static_cast((width() - docSize.width()) / 2); + dy += static_cast((height() - docSize.height()) / 2); + painter.translate(dx, dy); + } + qxt_d().doc->drawContents(&painter, area); + } +#endif // QT_VERSION +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.h new file mode 100644 index 00000000..929c3d70 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtpushbutton.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTPUSHBUTTON_H +#define QXTPUSHBUTTON_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtPushButtonPrivate; + +class QXT_GUI_EXPORT QxtPushButton : public QPushButton +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtPushButton); + Q_PROPERTY(Qxt::Rotation rotation READ rotation WRITE setRotation) + Q_PROPERTY(Qt::TextFormat textFormat READ textFormat WRITE setTextFormat) + +public: + explicit QxtPushButton(QWidget* parent = 0); + explicit QxtPushButton(const QString& text, QWidget* parent = 0); + explicit QxtPushButton(const QIcon& icon, const QString& text, QWidget* parent = 0); + explicit QxtPushButton(Qxt::Rotation rotation, const QString& text, QWidget* parent = 0); + virtual ~QxtPushButton(); + + Qxt::Rotation rotation() const; + void setRotation(Qxt::Rotation rotation); + + Qt::TextFormat textFormat() const; + void setTextFormat(Qt::TextFormat format); + +#ifndef QXT_DOXYGEN_RUN + virtual QSize sizeHint() const; + virtual QSize minimumSizeHint() const; + +protected: + virtual void paintEvent(QPaintEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTPUSHBUTTON_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.cpp new file mode 100644 index 00000000..90844755 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.cpp @@ -0,0 +1,561 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtspanslider.h" +#include "qxtspanslider_p.h" +#include +#include +#include +#include +#include + +QxtSpanSliderPrivate::QxtSpanSliderPrivate() + : lower(0), + upper(0), + offset(0), + position(0), + lastPressed(NoHandle), + mainControl(LowerHandle), + lowerPressed(QStyle::SC_None), + upperPressed(QStyle::SC_None) +{} + +// TODO: get rid of this in Qt 4.3 +void QxtSpanSliderPrivate::initStyleOption(QStyleOptionSlider* option, SpanHandle handle) const +{ + if (!option) + return; + + const QSlider* p = &qxt_p(); + option->initFrom(p); + option->subControls = QStyle::SC_None; + option->activeSubControls = QStyle::SC_None; + option->orientation = p->orientation(); + option->maximum = p->maximum(); + option->minimum = p->minimum(); + option->tickPosition = p->tickPosition(); + option->tickInterval = p->tickInterval(); + option->upsideDown = (p->orientation() == Qt::Horizontal) ? + (p->invertedAppearance() != (option->direction == Qt::RightToLeft)) : (!p->invertedAppearance()); + option->direction = Qt::LeftToRight; // we use the upsideDown option instead + option->sliderPosition = (handle == LowerHandle ? lower : upper); + option->sliderValue = (handle == LowerHandle ? lower : upper); + option->singleStep = p->singleStep(); + option->pageStep = p->pageStep(); + if (p->orientation() == Qt::Horizontal) + option->state |= QStyle::State_Horizontal; +} + +int QxtSpanSliderPrivate::pixelPosToRangeValue(int pos) const +{ + QStyleOptionSlider opt; + initStyleOption(&opt); + + int sliderMin = 0; + int sliderMax = 0; + int sliderLength = 0; + const QSlider* p = &qxt_p(); + const QRect gr = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, p); + const QRect sr = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, p); + if (p->orientation() == Qt::Horizontal) + { + sliderLength = sr.width(); + sliderMin = gr.x(); + sliderMax = gr.right() - sliderLength + 1; + } + else + { + sliderLength = sr.height(); + sliderMin = gr.y(); + sliderMax = gr.bottom() - sliderLength + 1; + } + return QStyle::sliderValueFromPosition(p->minimum(), p->maximum(), pos - sliderMin, + sliderMax - sliderMin, opt.upsideDown); +} + +void QxtSpanSliderPrivate::handleMousePress(const QPoint& pos, QStyle::SubControl& control, int value, SpanHandle handle) +{ + QStyleOptionSlider opt; + initStyleOption(&opt, handle); + QSlider* p = &qxt_p(); + const QStyle::SubControl oldControl = control; + control = p->style()->hitTestComplexControl(QStyle::CC_Slider, &opt, pos, p); + const QRect sr = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, p); + if (control == QStyle::SC_SliderHandle) + { + position = value; + offset = pick(pos - sr.topLeft()); + lastPressed = handle; + p->setSliderDown(true); + } + if (control != oldControl) + p->update(sr); +} + +void QxtSpanSliderPrivate::setupPainter(QPainter* painter, Qt::Orientation orientation, qreal x1, qreal y1, qreal x2, qreal y2) const +{ + QColor highlight = qxt_p().palette().color(QPalette::Highlight); + QLinearGradient gradient(x1, y1, x2, y2); + gradient.setColorAt(0, highlight.dark(120)); + gradient.setColorAt(1, highlight.light(108)); + painter->setBrush(gradient); + + if (orientation == Qt::Horizontal) + painter->setPen(QPen(highlight.dark(130), 0)); + else + painter->setPen(QPen(highlight.dark(150), 0)); +} + +void QxtSpanSliderPrivate::drawSpan(QStylePainter* painter, const QRect& rect) const +{ + QStyleOptionSlider opt; + initStyleOption(&opt); + const QSlider* p = &qxt_p(); + + // area + QRect groove = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, p); + if (opt.orientation == Qt::Horizontal) + groove.adjust(0, 0, -1, 0); + else + groove.adjust(0, 0, 0, -1); + + // pen & brush + painter->setPen(QPen(p->palette().color(QPalette::Dark).light(110), 0)); + if (opt.orientation == Qt::Horizontal) + setupPainter(painter, opt.orientation, groove.center().x(), groove.top(), groove.center().x(), groove.bottom()); + else + setupPainter(painter, opt.orientation, groove.left(), groove.center().y(), groove.right(), groove.center().y()); + + // draw groove +#if QT_VERSION >= 0x040200 + painter->drawRect(rect.intersected(groove)); +#else // QT_VERSION < 0x040200 + painter->drawRect(rect.intersect(groove)); +#endif // QT_VERSION +} + +void QxtSpanSliderPrivate::drawHandle(QStylePainter* painter, SpanHandle handle) const +{ + QStyleOptionSlider opt; + initStyleOption(&opt, handle); + opt.subControls = QStyle::SC_SliderHandle; + QStyle::SubControl pressed = (handle == LowerHandle ? lowerPressed : upperPressed); + if (pressed == QStyle::SC_SliderHandle) + { + opt.activeSubControls = pressed; + opt.state |= QStyle::State_Sunken; + } + painter->drawComplexControl(QStyle::CC_Slider, opt); +} + +void QxtSpanSliderPrivate::triggerAction(QAbstractSlider::SliderAction action, bool main) +{ + int value = 0; + bool up = false; + const int min = qxt_p().minimum(); + const int max = qxt_p().maximum(); + const SpanHandle altControl = (mainControl == LowerHandle ? UpperHandle : LowerHandle); + switch (action) + { + case QAbstractSlider::SliderSingleStepAdd: + if ((main && mainControl == UpperHandle) || (!main && altControl == UpperHandle)) + { + value = qBound(min, upper + qxt_p().singleStep(), max); + up = true; + break; + } + value = qBound(min, lower + qxt_p().singleStep(), max); + break; + case QAbstractSlider::SliderSingleStepSub: + if ((main && mainControl == UpperHandle) || (!main && altControl == UpperHandle)) + { + value = qBound(min, upper - qxt_p().singleStep(), max); + up = true; + break; + } + value = qBound(min, lower - qxt_p().singleStep(), max); + break; + case QAbstractSlider::SliderToMinimum: + value = min; + if ((main && mainControl == UpperHandle) || (!main && altControl == UpperHandle)) + up = true; + break; + case QAbstractSlider::SliderToMaximum: + value = max; + if ((main && mainControl == UpperHandle) || (!main && altControl == UpperHandle)) + up = true; + break; + default: + qWarning("QxtSpanSliderPrivate::triggerAction: Unknown action"); + break; + } + + if (!up) + { + if (value > upper) + { + swapControls(); + qxt_p().setUpperValue(value); + } + else + { + qxt_p().setLowerValue(value); + } + } + else + { + if (value < lower) + { + swapControls(); + qxt_p().setLowerValue(value); + } + else + { + qxt_p().setUpperValue(value); + } + } +} + +void QxtSpanSliderPrivate::swapControls() +{ + qSwap(lower, upper); + qSwap(lowerPressed, upperPressed); + lastPressed = (lastPressed == LowerHandle ? UpperHandle : LowerHandle); + mainControl = (mainControl == LowerHandle ? UpperHandle : LowerHandle); +} + +void QxtSpanSliderPrivate::updateRange(int min, int max) +{ + Q_UNUSED(min); + Q_UNUSED(max); + // setSpan() takes care of keeping span in range + qxt_p().setSpan(lower, upper); +} + +/*! + \class QxtSpanSlider QxtSpanSlider + \ingroup QxtGui + \brief A QSlider with two handles. + + QxtSpanSlider is a slider with two handles. QxtSpanSlider is + handy for letting user to choose an span between min/max. + + The span color is calculated based on \b QPalette::Highlight. + + The keys are bound according to the following table: + + + + + + + + + + +
    OrientationKeyHandle
    Qt::HorizontalQt::Key_Leftlower
    Qt::HorizontalQt::Key_Rightlower
    Qt::HorizontalQt::Key_Upupper
    Qt::HorizontalQt::Key_Downupper
    Qt::VerticalQt::Key_Uplower
    Qt::VerticalQt::Key_Downlower
    Qt::VerticalQt::Key_Leftupper
    Qt::VerticalQt::Key_Rightupper
    + + Keys are bound by the time the slider is created. A key is bound + to same handle for the lifetime of the slider. So even if the handle + representation might change from lower to upper, the same key binding + remains. + + \image html qxtspanslider.png "QxtSpanSlider in Plastique style." + + \note QxtSpanSlider inherits \b QSlider for implementation specific + reasons. Adjusting any single handle specific properties like +

    + has no effect. However, all slider specific properties like +
      +
    • \b QAbstractSlider::invertedAppearance
    • +
    • \b QAbstractSlider::invertedControls
    • +
    • \b QAbstractSlider::minimum
    • +
    • \b QAbstractSlider::maximum
    • +
    • \b QAbstractSlider::orientation
    • +
    • \b QAbstractSlider::pageStep
    • +
    • \b QAbstractSlider::singleStep
    • +
    • \b QSlider::tickInterval
    • +
    • \b QSlider::tickPosition
    • +
    + are taken into consideration. + */ + +/*! + \fn QxtSpanSlider::lowerValueChanged(int lower) + + This signal is emitted whenever the lower value has changed. + */ + +/*! + \fn QxtSpanSlider::upperValueChanged(int upper) + + This signal is emitted whenever the upper value has changed. + */ + +/*! + \fn QxtSpanSlider::spanChanged(int lower, int upper) + + This signal is emitted whenever the span has changed. + */ + +/*! + Constructs a new QxtSpanSlider with \a parent. + */ +QxtSpanSlider::QxtSpanSlider(QWidget* parent) : QSlider(parent) +{ + QXT_INIT_PRIVATE(QxtSpanSlider); + connect(this, SIGNAL(rangeChanged(int, int)), &qxt_d(), SLOT(updateRange(int, int))); +} + +/*! + Constructs a new QxtSpanSlider with \a orientation and \a parent. + */ +QxtSpanSlider::QxtSpanSlider(Qt::Orientation orientation, QWidget* parent) : QSlider(orientation, parent) +{ + QXT_INIT_PRIVATE(QxtSpanSlider); + connect(this, SIGNAL(rangeChanged(int, int)), &qxt_d(), SLOT(updateRange(int, int))); +} + +/*! + Destructs the slider. + */ +QxtSpanSlider::~QxtSpanSlider() +{} + +/*! + \property QxtSpanSlider::lowerValue + \brief This property holds the lower value of the span + */ +int QxtSpanSlider::lowerValue() const +{ + return qMin(qxt_d().lower, qxt_d().upper); +} + +void QxtSpanSlider::setLowerValue(int lower) +{ + setSpan(lower, qxt_d().upper); +} + +/*! + \property QxtSpanSlider::upperValue + \brief This property holds the upper value of the span + */ +int QxtSpanSlider::upperValue() const +{ + return qMax(qxt_d().lower, qxt_d().upper); +} + +void QxtSpanSlider::setUpperValue(int upper) +{ + setSpan(qxt_d().lower, upper); +} + +/*! + Sets the span from \a lower to \a upper. + \sa upperValue, lowerValue + */ +void QxtSpanSlider::setSpan(int lower, int upper) +{ + const int low = qBound(minimum(), qMin(lower, upper), maximum()); + const int upp = qBound(minimum(), qMax(lower, upper), maximum()); + if (low != qxt_d().lower || upp != qxt_d().upper) + { + if (low != qxt_d().lower) + { + qxt_d().lower = low; + emit lowerValueChanged(low); + } + if (upp != qxt_d().upper) + { + qxt_d().upper = upp; + emit upperValueChanged(upp); + } + emit spanChanged(qxt_d().lower, qxt_d().upper); + update(); + } +} + +void QxtSpanSlider::keyPressEvent(QKeyEvent* event) +{ + QSlider::keyPressEvent(event); + + bool main = true; + SliderAction action = SliderNoAction; + switch (event->key()) + { + case Qt::Key_Left: + main = (orientation() == Qt::Horizontal); + action = !invertedAppearance() ? SliderSingleStepSub : SliderSingleStepAdd; + break; + case Qt::Key_Right: + main = (orientation() == Qt::Horizontal); + action = !invertedAppearance() ? SliderSingleStepAdd : SliderSingleStepSub; + break; + case Qt::Key_Up: + main = (orientation() == Qt::Vertical); + action = invertedControls() ? SliderSingleStepSub : SliderSingleStepAdd; + break; + case Qt::Key_Down: + main = (orientation() == Qt::Vertical); + action = invertedControls() ? SliderSingleStepAdd : SliderSingleStepSub; + break; + case Qt::Key_Home: + main = (qxt_d().mainControl == QxtSpanSliderPrivate::LowerHandle); + action = SliderToMinimum; + break; + case Qt::Key_End: + main = (qxt_d().mainControl == QxtSpanSliderPrivate::UpperHandle); + action = SliderToMaximum; + break; + default: + event->ignore(); + break; + } + + if (action) + qxt_d().triggerAction(action, main); +} + +void QxtSpanSlider::mousePressEvent(QMouseEvent* event) +{ + if (minimum() == maximum() || (event->buttons() ^ event->button())) + { + event->ignore(); + return; + } + + qxt_d().handleMousePress(event->pos(), qxt_d().upperPressed, qxt_d().upper, QxtSpanSliderPrivate::UpperHandle); + if (qxt_d().upperPressed != QStyle::SC_SliderHandle) + qxt_d().handleMousePress(event->pos(), qxt_d().lowerPressed, qxt_d().lower, QxtSpanSliderPrivate::LowerHandle); + + event->accept(); +} + +void QxtSpanSlider::mouseMoveEvent(QMouseEvent* event) +{ + if (qxt_d().lowerPressed != QStyle::SC_SliderHandle && qxt_d().upperPressed != QStyle::SC_SliderHandle) + { + event->ignore(); + return; + } + + QStyleOptionSlider opt; + qxt_d().initStyleOption(&opt); + const int m = style()->pixelMetric(QStyle::PM_MaximumDragDistance, &opt, this); + int newPosition = qxt_d().pixelPosToRangeValue(qxt_d().pick(event->pos()) - qxt_d().offset); + if (m >= 0) + { + const QRect r = rect().adjusted(-m, -m, m, m); + if (!r.contains(event->pos())) + { + newPosition = qxt_d().position; + } + } + + if (qxt_d().lowerPressed == QStyle::SC_SliderHandle) + { + if (newPosition > qxt_d().upper) + { + qxt_d().swapControls(); + setUpperValue(newPosition); + } + else + { + setLowerValue(newPosition); + } + } + else if (qxt_d().upperPressed == QStyle::SC_SliderHandle) + { + if (newPosition < qxt_d().lower) + { + qxt_d().swapControls(); + setLowerValue(newPosition); + } + else + { + setUpperValue(newPosition); + } + } + event->accept(); +} + +void QxtSpanSlider::mouseReleaseEvent(QMouseEvent* event) +{ + QSlider::mouseReleaseEvent(event); + qxt_d().lowerPressed = QStyle::SC_None; + qxt_d().upperPressed = QStyle::SC_None; + update(); +} + +void QxtSpanSlider::paintEvent(QPaintEvent* event) +{ + Q_UNUSED(event); + QStylePainter painter(this); + + // ticks + QStyleOptionSlider opt; + qxt_d().initStyleOption(&opt); + opt.subControls = QStyle::SC_SliderTickmarks; + painter.drawComplexControl(QStyle::CC_Slider, opt); + + // groove + opt.sliderPosition = 0; + opt.subControls = QStyle::SC_SliderGroove; + painter.drawComplexControl(QStyle::CC_Slider, opt); + + // handle rects + opt.sliderPosition = qxt_d().lower; + const QRect lr = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, this); + const int lrv = qxt_d().pick(lr.center()); + opt.sliderPosition = qxt_d().upper; + const QRect ur = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, this); + const int urv = qxt_d().pick(ur.center()); + + // span + const int minv = qMin(lrv, urv); + const int maxv = qMax(lrv, urv); + const QPoint c = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, this).center(); + QRect spanRect; + if (orientation() == Qt::Horizontal) + spanRect = QRect(QPoint(minv, c.y()-2), QPoint(maxv, c.y()+1)); + else + spanRect = QRect(QPoint(c.x()-2, minv), QPoint(c.x()+1, maxv)); + qxt_d().drawSpan(&painter, spanRect); + + // handles + switch (qxt_d().lastPressed) + { + case QxtSpanSliderPrivate::LowerHandle: + qxt_d().drawHandle(&painter, QxtSpanSliderPrivate::UpperHandle); + qxt_d().drawHandle(&painter, QxtSpanSliderPrivate::LowerHandle); + break; + case QxtSpanSliderPrivate::UpperHandle: + default: + qxt_d().drawHandle(&painter, QxtSpanSliderPrivate::LowerHandle); + qxt_d().drawHandle(&painter, QxtSpanSliderPrivate::UpperHandle); + break; + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.h new file mode 100644 index 00000000..5ddef353 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider.h @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSPANSLIDER_H +#define QXTSPANSLIDER_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtSpanSliderPrivate; + +class QXT_GUI_EXPORT QxtSpanSlider : public QSlider +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtSpanSlider); + Q_PROPERTY(int lowerValue READ lowerValue WRITE setLowerValue) + Q_PROPERTY(int upperValue READ upperValue WRITE setUpperValue) + +public: + explicit QxtSpanSlider(QWidget* parent = 0); + explicit QxtSpanSlider(Qt::Orientation orientation, QWidget* parent = 0); + virtual ~QxtSpanSlider(); + + int lowerValue() const; + int upperValue() const; + +public slots: + void setLowerValue(int lower); + void setUpperValue(int upper); + void setSpan(int lower, int upper); + +signals: + void spanChanged(int lower, int upper); + void lowerValueChanged(int lower); + void upperValueChanged(int upper); + +#ifndef QXT_DOXYGEN_RUN +protected: + virtual void keyPressEvent(QKeyEvent* event); + virtual void mousePressEvent(QMouseEvent* event); + virtual void mouseMoveEvent(QMouseEvent* event); + virtual void mouseReleaseEvent(QMouseEvent* event); + virtual void paintEvent(QPaintEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTSPANSLIDER_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider_p.h new file mode 100644 index 00000000..1e1faf85 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtspanslider_p.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSPANSLIDER_P_H +#define QXTSPANSLIDER_P_H + +#include +#include +#include "qxtspanslider.h" +#include "qxtpimpl.h" + +class QStylePainter; +class QStyleOptionSlider; + +class QxtSpanSliderPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT + +public: + QXT_DECLARE_PUBLIC(QxtSpanSlider); + + enum SpanHandle + { + NoHandle, + LowerHandle, + UpperHandle + }; + + QxtSpanSliderPrivate(); + void initStyleOption(QStyleOptionSlider* option, SpanHandle handle = UpperHandle) const; + int pick(const QPoint& pt) const + { + return qxt_p().orientation() == Qt::Horizontal ? pt.x() : pt.y(); + } + int pixelPosToRangeValue(int pos) const; + void handleMousePress(const QPoint& pos, QStyle::SubControl& control, int value, SpanHandle handle); + void drawHandle(QStylePainter* painter, SpanHandle handle) const; + void setupPainter(QPainter* painter, Qt::Orientation orientation, qreal x1, qreal y1, qreal x2, qreal y2) const; + void drawSpan(QStylePainter* painter, const QRect& rect) const; + void triggerAction(QAbstractSlider::SliderAction action, bool main); + void swapControls(); + + int lower; + int upper; + int offset; + int position; + SpanHandle lastPressed; + SpanHandle mainControl; + QStyle::SubControl lowerPressed; + QStyle::SubControl upperPressed; + +public slots: + void updateRange(int min, int max); +}; + +#endif // QXTSPANSLIDER_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.cpp new file mode 100644 index 00000000..4cf570be --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.cpp @@ -0,0 +1,356 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstars.h" + +#include +#include +#include +#include + +class QxtStarsPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtStars); + QxtStarsPrivate(); + int pixelPosToRangeValue(int pos) const; + inline int pick(const QPoint& pt) const; + QStyleOptionSlider getStyleOption() const; + QSize getStarSize() const; + int snapBackPosition; + bool readOnly; + QSize starSize; + QPainterPath star; +}; + +QxtStarsPrivate::QxtStarsPrivate() + : snapBackPosition(0), readOnly(false) +{ + star.moveTo(14.285716,-43.352104); + star.lineTo(38.404536,9.1654726); + star.lineTo(95.804846,15.875014); + star.lineTo(53.310787,55.042197); + star.lineTo(64.667306,111.7065); + star.lineTo(14.285714,83.395573); + star.lineTo(-36.095881,111.7065); + star.lineTo(-24.739359,55.042198); + star.lineTo(-67.233416,15.875009); + star.lineTo(-9.8331075,9.1654728); + star.closeSubpath(); +} + +int QxtStarsPrivate::pixelPosToRangeValue(int pos) const +{ + const QxtStars* p = &qxt_p(); + QStyleOptionSlider opt = getStyleOption(); + QRect gr = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, p); + QRect sr = p->style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, p); + int sliderMin, sliderMax, sliderLength; + + gr.setSize(qxt_p().sizeHint()); + if (p->orientation() == Qt::Horizontal) + { + sliderLength = sr.width(); + sliderMin = gr.x(); + sliderMax = gr.right() - sliderLength + 1; + } + else + { + sliderLength = sr.height(); + sliderMin = gr.y(); + sliderMax = gr.bottom() - sliderLength + 1; + } + return QStyle::sliderValueFromPosition(p->minimum(), p->maximum(), pos - sliderMin, + sliderMax - sliderMin, opt.upsideDown); +} + +inline int QxtStarsPrivate::pick(const QPoint& pt) const +{ + return qxt_p().orientation() == Qt::Horizontal ? pt.x() : pt.y(); +} + +// TODO: get rid of this in Qt 4.3 +QStyleOptionSlider QxtStarsPrivate::getStyleOption() const +{ + const QxtStars* p = &qxt_p(); + QStyleOptionSlider opt; + opt.initFrom(p); + opt.subControls = QStyle::SC_None; + opt.activeSubControls = QStyle::SC_None; + opt.orientation = p->orientation(); + opt.maximum = p->maximum(); + opt.minimum = p->minimum(); + opt.upsideDown = (p->orientation() == Qt::Horizontal) ? + (p->invertedAppearance() != (opt.direction == Qt::RightToLeft)) : (!p->invertedAppearance()); + opt.direction = Qt::LeftToRight; // we use the upsideDown option instead + opt.sliderPosition = p->sliderPosition(); + opt.sliderValue = p->value(); + opt.singleStep = p->singleStep(); + opt.pageStep = p->pageStep(); + if (p->orientation() == Qt::Horizontal) + opt.state |= QStyle::State_Horizontal; + return opt; +} + +QSize QxtStarsPrivate::getStarSize() const +{ + QSize size = starSize; + if (!size.isValid() || size.isNull()) + { + const int width = qxt_p().style()->pixelMetric(QStyle::PM_SmallIconSize); + size = QSize(width, width); + } + return size; +} + +/*! + \class QxtStars QxtStars + \ingroup QxtGui + \brief A stars assessment widget. + + QxtStars is an optionally interactive stars assessment widget. + + By default, orientation is \b Qt::Horizonal and range is from \b 0 to \b 5. + + The stars are rendered accoring to palette with the following color roles: + + + + + +
    ColorRoleElement
    QPalette::Textoutlines
    QPalette::Baseunselected stars
    QPalette::Highlightselected stars
    + + \image html qxtstars.png "QxtStars in action." + */ + +/*! + \fn QxtStars::valueChanged(int value) + + This signal is emitted whenever the value has been changed. + */ + +/*! + Constructs a new QxtStars with \a parent. + */ +QxtStars::QxtStars(QWidget* parent) : QAbstractSlider(parent) +{ + QXT_INIT_PRIVATE(QxtStars); + setOrientation(Qt::Horizontal); + setFocusPolicy(Qt::FocusPolicy(style()->styleHint(QStyle::SH_Button_FocusPolicy))); + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + setRange(0, 5); +} + +/*! + Destructs the stars. + */ +QxtStars::~QxtStars() +{} + +/*! + \property QxtStars::readOnly + \brief This property holds whether stars are adjustable + + In read-only mode, the user is not able to change the value. + The default value is \b false. + */ +bool QxtStars::isReadOnly() const +{ + return qxt_d().readOnly; +} + +void QxtStars::setReadOnly(bool readOnly) +{ + if (qxt_d().readOnly != readOnly) + { + qxt_d().readOnly = readOnly; + if (readOnly) + setFocusPolicy(Qt::NoFocus); + else + setFocusPolicy(Qt::FocusPolicy(style()->styleHint(QStyle::SH_Button_FocusPolicy))); + } +} + +/*! + \property QxtStars::starSize + \brief This property holds the size of star icons + + The default value is \b QStyle::PM_SmallIconSize. + */ +QSize QxtStars::starSize() const +{ + return qxt_d().starSize; +} + +void QxtStars::setStarSize(const QSize& size) +{ + if (qxt_d().starSize != size) + { + qxt_d().starSize = size; + updateGeometry(); + update(); + } +} + +QSize QxtStars::sizeHint() const +{ + return minimumSizeHint(); +} + +QSize QxtStars::minimumSizeHint() const +{ + QSize size = qxt_d().getStarSize(); + size.rwidth() *= maximum() - minimum(); + if (orientation() == Qt::Vertical) + size.transpose(); + return size; +} + +void QxtStars::paintEvent(QPaintEvent* event) +{ + QAbstractSlider::paintEvent(event); + + QPainter painter(this); + painter.save(); + painter.setPen(palette().color(QPalette::Text)); + painter.setRenderHint(QPainter::Antialiasing); + + const bool invert = invertedAppearance(); + const QSize size = qxt_d().getStarSize(); + const QRectF star = qxt_d().star.boundingRect(); + painter.scale(size.width() / star.width(), size.height() / star.height()); + const int count = maximum() - minimum(); + if (orientation() == Qt::Horizontal) + { + painter.translate(-star.x(), -star.y()); + if (invert != isRightToLeft()) + painter.translate((count - 1) * star.width(), 0); + } + else + { + painter.translate(-star.x(), -star.y()); + if (!invert) + painter.translate(0, (count - 1) * star.height()); + } + for (int i = 0; i < count; ++i) + { + if (value() > minimum() + i) + painter.setBrush(palette().highlight()); + else + painter.setBrush(palette().base()); + painter.drawPath(qxt_d().star); + + if (orientation() == Qt::Horizontal) + painter.translate(invert != isRightToLeft() ? -star.width() : star.width(), 0); + else + painter.translate(0, invert ? star.height() : -star.height()); + } + + painter.restore(); + if (hasFocus()) + { + QStyleOptionFocusRect opt; + opt.initFrom(this); + opt.rect.setSize(sizeHint()); + style()->drawPrimitive(QStyle::PE_FrameFocusRect, &opt, &painter, this); + } +} + +void QxtStars::keyPressEvent(QKeyEvent* event) +{ + if (qxt_d().readOnly) + { + event->ignore(); + return; + } + QAbstractSlider::keyPressEvent(event); +} + +void QxtStars::mousePressEvent(QMouseEvent* event) +{ + if (qxt_d().readOnly) + { + event->ignore(); + return; + } + QAbstractSlider::mousePressEvent(event); + + if (maximum() == minimum() || (event->buttons() ^ event->button())) + { + event->ignore(); + return; + } + + event->accept(); + QStyleOptionSlider opt = qxt_d().getStyleOption(); + const QRect sliderRect = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, this); + const QPoint center = sliderRect.center() - sliderRect.topLeft(); + const int pos = qxt_d().pixelPosToRangeValue(qxt_d().pick(event->pos() - center)); + setSliderPosition(pos); + triggerAction(SliderMove); + setRepeatAction(SliderNoAction); + qxt_d().snapBackPosition = pos; + update(); +} + +void QxtStars::mouseMoveEvent(QMouseEvent* event) +{ + if (qxt_d().readOnly) + { + event->ignore(); + return; + } + QAbstractSlider::mouseMoveEvent(event); + + event->accept(); + int newPosition = qxt_d().pixelPosToRangeValue(qxt_d().pick(event->pos())); + QStyleOptionSlider opt = qxt_d().getStyleOption(); + int m = style()->pixelMetric(QStyle::PM_MaximumDragDistance, &opt, this); + if (m >= 0) + { + QRect r = rect(); + r.adjust(-m, -m, m, m); + if (!r.contains(event->pos())) + newPosition = qxt_d().snapBackPosition; + } + setSliderPosition(newPosition); +} + +void QxtStars::mouseReleaseEvent(QMouseEvent* event) +{ + if (qxt_d().readOnly) + { + event->ignore(); + return; + } + QAbstractSlider::mouseReleaseEvent(event); + + if (event->buttons()) + { + event->ignore(); + return; + } + + event->accept(); + setRepeatAction(SliderNoAction); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.h new file mode 100644 index 00000000..618f5b7e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstars.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSTARS_H +#define QXTSTARS_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtStarsPrivate; + +class QXT_GUI_EXPORT QxtStars : public QAbstractSlider +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtStars); + Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly) + Q_PROPERTY(QSize starSize READ starSize WRITE setStarSize) + +public: + explicit QxtStars(QWidget* parent = 0); + virtual ~QxtStars(); + + bool isReadOnly() const; + void setReadOnly(bool readOnly); + + QSize starSize() const; + void setStarSize(const QSize& size); + +#ifndef QXT_DOXYGEN_RUN + virtual QSize sizeHint() const; + virtual QSize minimumSizeHint() const; +#endif // QXT_DOXYGEN_RUN + +#ifndef QXT_DOXYGEN_RUN +protected: + virtual void keyPressEvent(QKeyEvent* event); + virtual void mousePressEvent(QMouseEvent* event); + virtual void mouseMoveEvent(QMouseEvent* event); + virtual void mouseReleaseEvent(QMouseEvent* event); + virtual void paintEvent(QPaintEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTSTARS_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp new file mode 100644 index 00000000..e04b67ea --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp @@ -0,0 +1,140 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstringspinbox.h" + +class QxtStringSpinBoxPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtStringSpinBox); + int startsWith(const QString& start, QString& string) const; + QStringList strings; +}; + +int QxtStringSpinBoxPrivate::startsWith(const QString& start, QString& string) const +{ + const int size = strings.size(); + for (int i = 0; i < size; ++i) + { + if (strings.at(i).startsWith(start, Qt::CaseInsensitive)) + { + // found + string = strings.at(i); + return i; + } + } + // not found + return -1; +} + +/*! + \class QxtStringSpinBox QxtStringSpinBox + \ingroup QxtGui + \brief A spin box with string items. + + QxtStringSpinBox is spin box that takes strings. QxtStringSpinBox allows + the user to choose a value by clicking the up and down buttons or by + pressing Up or Down on the keyboard to increase or decrease the value + currently displayed. The user can also type the value in manually. + + \image html qxtstringspinbox.png "QxtStringSpinBox in Cleanlooks style." + */ + +/*! + Constructs a new QxtStringSpinBox with \a parent. + */ +QxtStringSpinBox::QxtStringSpinBox(QWidget* pParent) : QSpinBox(pParent) +{ + setRange(0, 0); +} + +/*! + Destructs the spin box. + */ +QxtStringSpinBox::~QxtStringSpinBox() +{} + +/*! + \property QxtStringSpinBox::strings + \brief This property holds the string items of the spin box. + */ +const QStringList& QxtStringSpinBox::strings() const +{ + return qxt_d().strings; +} + +void QxtStringSpinBox::setStrings(const QStringList& strings) +{ + qxt_d().strings = strings; + setRange(0, strings.size() - 1); + if (!strings.isEmpty()) + setValue(0); +} + +void QxtStringSpinBox::fixup(QString& input) const +{ + // just attempt to change the input string to be valid according to the string list + // no need to result in a valid string, callers of this function are responsible to + // re-test the validity afterwards + + // try finding a string from the list which starts with input + input = input.simplified(); + if (!input.isEmpty()) + { + qxt_d().startsWith(input, input); + } +} + +QValidator::State QxtStringSpinBox::validate(QString& input, int& pos) const +{ + // Invalid: input is invalid according to the string list + // Intermediate: it is likely that a little more editing will make the input acceptable + // (e.g. the user types "A" and stringlist contains "ABC") + // Acceptable: the input is valid. + Q_UNUSED(pos); + QString temp; + QValidator::State state = QValidator::Invalid; + if (qxt_d().strings.contains(input)) + { + // exact match + state = QValidator::Acceptable; + } + else if (input.isEmpty() || qxt_d().startsWith(input, temp) != -1) + { + // still empty or some string in the list starts with input + state = QValidator::Intermediate; + } + // else invalid + return state; +} + +QString QxtStringSpinBox::textFromValue(int value) const +{ + Q_ASSERT(qxt_d().strings.isEmpty() || (value >= 0 && value < qxt_d().strings.size())); + return qxt_d().strings.isEmpty() ? QLatin1String("") : qxt_d().strings.at(value); +} + +int QxtStringSpinBox::valueFromText(const QString& text) const +{ + return qxt_d().strings.indexOf(text); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.h new file mode 100644 index 00000000..e2db4a03 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSTRINGSPINBOX_H +#define QXTSTRINGSPINBOX_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtStringSpinBoxPrivate; + +class QXT_GUI_EXPORT QxtStringSpinBox : public QSpinBox +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtStringSpinBox); + Q_PROPERTY(QStringList strings READ strings WRITE setStrings) + +public: + explicit QxtStringSpinBox(QWidget* pParent = 0); + virtual ~QxtStringSpinBox(); + + const QStringList& strings() const; + void setStrings(const QStringList& strings); + +#ifndef QXT_DOXYGEN_RUN + virtual void fixup(QString& input) const; + virtual QValidator::State validate(QString& input, int& pos) const; + +protected: + virtual QString textFromValue(int value) const; + virtual int valueFromText(const QString& text) const; +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTSTRINGSPINBOX_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.cpp new file mode 100644 index 00000000..d558a80d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.cpp @@ -0,0 +1,340 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#include "qxtstringvalidator.h" +#include "qxtstringvalidator_p.h" + +#include +#include +#include +#include + +QxtStringValidatorPrivate::QxtStringValidatorPrivate() : isUserModel(false) + , model(0) + , cs(Qt::CaseSensitive) + , lookupRole(Qt::EditRole) + , userFlags(Qt::MatchWrap) + , lookupStartModelIndex(QModelIndex()) +{} + +QModelIndex QxtStringValidatorPrivate::lookupPartialMatch(const QString &value) const +{ + Qt::MatchFlags matchFlags = Qt::MatchStartsWith| userFlags; + if (cs == Qt::CaseSensitive) + matchFlags |= Qt::MatchCaseSensitive; + + return lookup(value,matchFlags); +} + +QModelIndex QxtStringValidatorPrivate::lookupExactMatch(const QString &value) const +{ + Qt::MatchFlags matchFlags = Qt::MatchFixedString | userFlags; + if (cs == Qt::CaseSensitive) + matchFlags |= Qt::MatchCaseSensitive; + + return lookup(value,matchFlags); +} + +QModelIndex QxtStringValidatorPrivate::lookup(const QString &value,const Qt::MatchFlags &matchFlags) const +{ + QModelIndex startIndex = lookupStartModelIndex.isValid() ? lookupStartModelIndex : model->index(0,0); + + QModelIndexList list = model->match(startIndex,lookupRole,value,1,matchFlags); + + if (list.size() > 0) + return list[0]; + return QModelIndex(); +} + + +/*! + \class QxtStringValidator QxtStringValidator + \ingroup QxtGui + \brief The QxtStringValidator class provides validation on a QStringList or a QAbstractItemModel + + It provides a String based validation in a stringlist or a custom model. + QxtStringValidator uses QAbstractItemModel::match() to validate the input. + For a partial match it returns QValidator::Intermediate and for a full match QValidator::Acceptable. + + Example usage: + \code + + QLineEdit * testLineEdit = new QLineEdit(); + + QStringList testList; + testList << "StringTestString" << "sTrInGCaSe"<< "StringTest"<< "String"<< "Foobar"<< "BarFoo"<< "QxtLib"; + + QxtStringValidator *validator = new QxtStringValidator(ui.lineEdit); + validator->setStringList(testList); + + //change lookup case sensitivity + validator->setCaseSensitivity(Qt::CaseInsensitive); + + testLineEdit->setValidator(validator); + + \endcode + */ + +/*! + Constructs a validator object with a parent object that accepts any string in the stringlist. +*/ +QxtStringValidator::QxtStringValidator(QObject * parent) : QValidator(parent) +{ + QXT_INIT_PRIVATE(QxtStringValidator); +} + +QxtStringValidator::~QxtStringValidator(void) +{} + +/*! + Fixes up the string input if there is no exact match in the stringlist/model. + The first match in the stringlist/model is used to fix the input. +*/ +void QxtStringValidator::fixup ( QString & input ) const +{ + qDebug()<<"Fixup called"; + + if (!qxt_d().model) + return; + + if (qxt_d().lookupExactMatch(input).isValid()) + return; + + QModelIndex partialMatch = qxt_d().lookupPartialMatch(input); + if (partialMatch.isValid()) + input = partialMatch.data(qxt_d().lookupRole).toString(); + +} + +/*! + uses stringlist as new validation list + if a model was set before it is not deleted +*/ +void QxtStringValidator::setStringList(const QStringList &stringList) +{ + //delete model only if it is a model created by us + if (qxt_d().model && !qxt_d().isUserModel) + { + delete qxt_d().model; + qxt_d().model = 0; + } + + qxt_d().isUserModel = false; + qxt_d().lookupStartModelIndex = QModelIndex(); + qxt_d().lookupRole = Qt::EditRole; + qxt_d().model = new QStringListModel(stringList,this); +} + +/*! + Returns Acceptable if the string input matches a item in the stringlist. + Returns Intermediate if the string input matches a item in the stringlist partial or if input is empty. + Returns Invalid otherwise. + + Note: A partial match means the beginning of the strings are matching: + qxtL matches qxtLib but not testqxtLib +*/ +QValidator::State QxtStringValidator::validate ( QString & input, int & pos ) const +{ + Q_UNUSED(pos); + + // no model or a empty model has only Acceptable values (like no validator was set) + if (!qxt_d().model) + return QValidator::Acceptable; + + if (qxt_d().model->rowCount() == 0) + return QValidator::Acceptable; + + if (input.isEmpty()) + return QValidator::Intermediate; + + if (qxt_d().lookupExactMatch(input).isValid()) + { + qDebug()<index(0,0); + } + return QModelIndex(); +} + +/*! + Returns if recursive lookup is enabled. + \sa setRecursiveLookup() +*/ +bool QxtStringValidator::recursiveLookup() const +{ + if (qxt_d().userFlags & Qt::MatchRecursive) + return true; + return false; +} + +/*! + Returns if wrapping lookup is enabled. + \sa setWrappingLookup() +*/ +bool QxtStringValidator::wrappingLookup() const +{ + if (qxt_d().userFlags & Qt::MatchWrap) + return true; + return false; +} + +/*! + Returns the used model if it was set by the user. + \sa setLookupModel() +*/ +QAbstractItemModel * QxtStringValidator::lookupModel() const +{ + if (qxt_d().isUserModel) + return qxt_d().model; + return 0; +} + +/*! + Returns Qt::CaseSensitive if the QxtStringValidator is matched case sensitively; otherwise returns Qt::CaseInsensitive. + \sa setCaseSensitivity(). +*/ +Qt::CaseSensitivity QxtStringValidator::caseSensitivity () const +{ + return qxt_d().cs; +} + +/*! + Sets case sensitive matching to cs. + If cs is Qt::CaseSensitive, inp matches input but not INPUT. + The default is Qt::CaseSensitive. + \sa caseSensitivity(). +*/ +void QxtStringValidator::setCaseSensitivity ( Qt::CaseSensitivity caseSensitivity ) +{ + qxt_d().cs = caseSensitivity; +} + +/*! + Sets the index the search should start at + The default is QModelIndex(0,0). + Note: this is set to default when the model changes. + Changing the startModelIndex is only possible if the validator uses a userdefined model + and the modelindex comes from the used model + \sa startModelIndex() +*/ +void QxtStringValidator::setStartModelIndex(const QModelIndex &index) +{ + if (index.model() == qxt_d().model) + qxt_d().lookupStartModelIndex = index; + else + qWarning()<<"ModelIndex from different model. Ignoring."; +} + +/*! + If enabled QxtStringValidator searches the entire hierarchy of the model. + This is disabled by default. + \sa recursiveLookup() +*/ +void QxtStringValidator::setRecursiveLookup(bool enable) +{ + if (enable) + qxt_d().userFlags |= Qt::MatchRecursive; + else + qxt_d().userFlags &= ~Qt::MatchRecursive; + +} + +/*! + If enabled QxtStringValidator performs a search that wraps around, + so that when the search reaches the last item in the model, it begins again at the first item and continues until all items have been examined. + This is set by default. + \sa wrappingLookup() +*/ +void QxtStringValidator::setWrappingLookup(bool enable) +{ + if (enable) + qxt_d().userFlags |= Qt::MatchWrap; + else + qxt_d().userFlags &= ~Qt::MatchWrap; +} + +/*! + Uses model as new validation model. + Note: The validator does not take ownership of the model. + sa\ lookupModel() +*/ +void QxtStringValidator::setLookupModel(QAbstractItemModel *model) +{ + if (!qxt_d().isUserModel && qxt_d().model) + { + delete qxt_d().model; + qxt_d().model = 0; + } + + qxt_d().lookupRole = Qt::EditRole; + qxt_d().isUserModel = true; + qxt_d().lookupStartModelIndex = QModelIndex(); + qxt_d().model = QPointer(model); +} + +/*! + Sets the item role to be used to query the contents of items for validation. + Note: this is only possible if the model was set with setLookupModel() + This is set to default Value Qt::EditRole when the model changes + \sa lookupRole() +*/ +void QxtStringValidator::setLookupRole(const int role) +{ + if (qxt_d().isUserModel) + qxt_d().lookupRole = role; +} + +/*! + Returns the item role to be used to query the contents of items for validation. + \sa setLookupRole() +*/ +int QxtStringValidator::lookupRole() const +{ + return qxt_d().lookupRole; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.h new file mode 100644 index 00000000..7d95983b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator.h @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTSTRINGLISTVALIDATOR_H_INCLUDED +#define QXTSTRINGLISTVALIDATOR_H_INCLUDED + +#include +#include +#include +#include "qxtpimpl.h" +#include "qxtglobal.h" + +class QxtStringValidatorPrivate; +class QAbstractItemModel; + +class QXT_GUI_EXPORT QxtStringValidator : public QValidator +{ + Q_OBJECT + +public: + QxtStringValidator (QObject * parent); + ~QxtStringValidator (); + + virtual void fixup ( QString & input ) const; + virtual QValidator::State validate ( QString & input, int & pos ) const; + + Qt::CaseSensitivity caseSensitivity () const; + void setCaseSensitivity ( Qt::CaseSensitivity caseSensitivity ); + void setStartModelIndex(const QModelIndex &index); + void setStringList(const QStringList &stringList); + void setRecursiveLookup(bool enable); + void setWrappingLookup(bool enable); + void setLookupModel(QAbstractItemModel *model); + void setLookupRole(const int role); + + QModelIndex startModelIndex() const; + bool recursiveLookup() const; + bool wrappingLookup() const; + QAbstractItemModel * lookupModel() const; + int lookupRole() const; + +private: + QXT_DECLARE_PRIVATE(QxtStringValidator); +}; + +#endif //QXTSTRINGLISTVALIDATOR_H_INCLUDED diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator_p.h new file mode 100644 index 00000000..91d3f721 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringvalidator_p.h @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSTRINGLISTVALIDATOR_P_H_INCLUDED +#define QXTSTRINGLISTVALIDATOR_P_H_INCLUDED + +#include +#include +#include +#include + +class QxtStringValidator; + +class QxtStringValidatorPrivate : public QxtPrivate +{ +public: + QxtStringValidatorPrivate(); + QXT_DECLARE_PUBLIC(QxtStringValidator); + + bool isUserModel; + QPointer model; + Qt::CaseSensitivity cs; + int lookupColumn; + int lookupRole; + Qt::MatchFlags userFlags; + QModelIndex lookupStartModelIndex; + + QModelIndex lookupPartialMatch(const QString &value) const; + QModelIndex lookupExactMatch(const QString &value) const; + QModelIndex lookup(const QString &value,const Qt::MatchFlags &matchFlags) const; + +}; + +#endif //QXTSTRINGLISTVALIDATOR_P_H_INCLUDED diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.cpp new file mode 100644 index 00000000..f22458c9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttablewidget.h" +#include "qxtitemdelegate.h" +#include "qxttablewidget_p.h" + +QxtTableWidgetPrivate::QxtTableWidgetPrivate() +{} + +void QxtTableWidgetPrivate::informStartEditing(const QModelIndex& index) +{ + QTableWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingStarted(item); +} + +void QxtTableWidgetPrivate::informFinishEditing(const QModelIndex& index) +{ + QTableWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingFinished(item); +} + +/*! + \class QxtTableWidget QxtTableWidget + \ingroup QxtGui + \brief An extended QTableWidget with additional signals. + + QxtTableWidget offers a few most commonly requested signals. + + \image html qxttablewidget.png "QxtTableWidget in Plastique style." + */ + +/*! + \fn QxtTableWidget::itemEditingStarted(QTableWidgetItem* item) + + This signal is emitted after the editing of \a item has been started. + + \sa itemEditingFinished() + */ + +/*! + \fn QxtTableWidget::itemEditingFinished(QTableWidgetItem* item) + + This signal is emitted after the editing of \a item has been finished. + + \sa itemEditingStarted() + */ + +/*! + \fn QxtTableWidget::itemCheckStateChanged(QxtTableWidgetItem* item) + + This signal is emitted whenever the check state of \a item has changed. + + \note Use QxtTableWidgetItem in order to enable this feature. + + \sa QxtTableWidgetItem, QTableWidgetItem::checkState() + */ + +/*! + Constructs a new QxtTableWidget with \a parent. + */ +QxtTableWidget::QxtTableWidget(QWidget* parent) + : QTableWidget(parent) +{ + QXT_INIT_PRIVATE(QxtTableWidget); + setItemPrototype(new QxtTableWidgetItem); + QxtItemDelegate* delegate = new QxtItemDelegate(this); + connect(delegate, SIGNAL(editingStarted(const QModelIndex&)), + &qxt_d(), SLOT(informStartEditing(const QModelIndex&))); + connect(delegate, SIGNAL(editingFinished(const QModelIndex&)), + &qxt_d(), SLOT(informFinishEditing(const QModelIndex&))); + setItemDelegate(delegate); +} + +/*! + Constructs a new QxtTableWidget with \a rows, \a columns and \a parent. + */ +QxtTableWidget::QxtTableWidget(int rows, int columns, QWidget* parent) + : QTableWidget(rows, columns, parent) +{ + QXT_INIT_PRIVATE(QxtTableWidget); + setItemPrototype(new QxtTableWidgetItem); + QxtItemDelegate* delegate = new QxtItemDelegate(this); + connect(delegate, SIGNAL(editingStarted(const QModelIndex&)), + &qxt_d(), SLOT(informStartEditing(const QModelIndex&))); + connect(delegate, SIGNAL(editingFinished(const QModelIndex&)), + &qxt_d(), SLOT(informFinishEditing(const QModelIndex&))); + setItemDelegate(delegate); +} + +/*! + Destructs the table widget. + */ +QxtTableWidget::~QxtTableWidget() +{} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.h new file mode 100644 index 00000000..26866646 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTABLEWIDGET_H +#define QXTTABLEWIDGET_H + +#include +#include "qxtpimpl.h" +#include "qxtglobal.h" +#include "qxttablewidgetitem.h" + +class QxtTableWidgetPrivate; + +class QXT_GUI_EXPORT QxtTableWidget : public QTableWidget +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtTableWidget); + friend class QxtTableWidgetItem; + +public: + explicit QxtTableWidget(QWidget* parent = 0); + explicit QxtTableWidget(int rows, int columns, QWidget* parent = 0); + virtual ~QxtTableWidget(); + +signals: + void itemEditingStarted(QTableWidgetItem* item); + void itemEditingFinished(QTableWidgetItem* item); + void itemCheckStateChanged(QxtTableWidgetItem* item); +}; + +#endif // QXTTABLEWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget_p.h new file mode 100644 index 00000000..c244668c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidget_p.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTABLEWIDGET_P_H +#define QXTTABLEWIDGET_P_H + +#include "qxtpimpl.h" +#include "qxttablewidget.h" + +class QxtItemDelegate; + +class QxtTableWidgetPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT +public: + QXT_DECLARE_PUBLIC(QxtTableWidget); + QxtTableWidgetPrivate(); + +private slots: + void informStartEditing(const QModelIndex& index); + void informFinishEditing(const QModelIndex& index); +}; + +#endif // QXTTABLEWIDGET_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.cpp new file mode 100644 index 00000000..0395afd2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.cpp @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttablewidgetitem.h" +#include "qxttablewidget.h" + +/*! + \class QxtTableWidgetItem QxtTableWidgetItem + \ingroup QxtGui + \brief An extended QTableWidgetItem. + + QxtTableWidgetItem provides means for offering check state change signals and + convenience methods for testing and setting flags. + + \sa QxtTableWidget + */ + + +QxtTableWidgetItem::QxtTableWidgetItem(int type) + : QTableWidgetItem(type) +{} + +QxtTableWidgetItem::QxtTableWidgetItem(const QString& text, int type) + : QTableWidgetItem(text, type) +{} + +QxtTableWidgetItem::QxtTableWidgetItem(const QIcon& icon, const QString& text, int type) + : QTableWidgetItem(text, type) +{ + setIcon(icon); // for 4.1 compatibility +} + +QxtTableWidgetItem::QxtTableWidgetItem(const QTableWidgetItem& other) + : QTableWidgetItem(other) +{} + +QxtTableWidgetItem::~QxtTableWidgetItem() +{} + +/*! + Returns \b true if the \a flag is set, otherwise \b false. + + \sa setFlag(), QTableWidgetItem::flags(), Qt::ItemFlag + */ +bool QxtTableWidgetItem::testFlag(Qt::ItemFlag flag) const +{ + return (flags() & flag); +} + +/*! + If \a enabled is \b true, the item \a flag is enabled; otherwise, it is disabled. + + \sa testFlag(), QTableWidgetItem::setFlags(), Qt::ItemFlag + */ +void QxtTableWidgetItem::setFlag(Qt::ItemFlag flag, bool enabled) +{ + if (enabled) + setFlags(flags() | flag); + else + setFlags(flags() & ~flag); +} + +void QxtTableWidgetItem::setData(int role, const QVariant& value) +{ + if (role == Qt::CheckStateRole) + { + const Qt::CheckState newState = static_cast(value.toInt()); + const Qt::CheckState oldState = static_cast(data(role).toInt()); + + QTableWidgetItem::setData(role, value); + + if (newState != oldState) + { + QxtTableWidget* table = qobject_cast(tableWidget()); + if (table) + { + emit table->itemCheckStateChanged(this); + } + } + } + else + { + QTableWidgetItem::setData(role, value); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.h new file mode 100644 index 00000000..4927c623 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttablewidgetitem.h @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTABLEWIDGETITEM_H +#define QXTTABLEWIDGETITEM_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" + +class QXT_GUI_EXPORT QxtTableWidgetItem : public QTableWidgetItem +{ +public: + explicit QxtTableWidgetItem(int type = Type); + explicit QxtTableWidgetItem(const QString& text, int type = Type); + explicit QxtTableWidgetItem(const QIcon& icon, const QString& text, int type = Type); + explicit QxtTableWidgetItem(const QTableWidgetItem& other); + virtual ~QxtTableWidgetItem(); + + bool testFlag(Qt::ItemFlag flag) const; + void setFlag(Qt::ItemFlag flag, bool enabled = true); + +#ifndef QXT_DOXYGEN_RUN + virtual void setData(int role, const QVariant& value); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTTABLEWIDGETITEM_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.cpp new file mode 100644 index 00000000..3a5b4e3d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.cpp @@ -0,0 +1,397 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttabwidget.h" +#include +#include +#include +#include +#include + +typedef QList Actions; + +class QxtTabWidgetPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtTabWidget); + + QxtTabWidgetPrivate(); + int tabIndexAt(const QPoint& pos) const; + + QList actions; + Qt::ContextMenuPolicy policy; +}; + +QxtTabWidgetPrivate::QxtTabWidgetPrivate() : policy(Qt::DefaultContextMenu) +{} + +int QxtTabWidgetPrivate::tabIndexAt(const QPoint& pos) const +{ + const int count = qxt_p().count(); + const QTabBar* tabBar = qxt_p().tabBar(); + for (int i = 0; i < count; ++i) + if (tabBar->tabRect(i).contains(pos)) + return i; + return -1; +} + +/*! + \class QxtTabWidget QxtTabWidget + \ingroup QxtGui + \brief An extended QTabWidget. + + QxtTabWidget provides some convenience for handling tab specific context menus. + + Example usage: + \code + QxtTabWidget* tabWidget = new QxtTabWidget(); + tabWidget->addTab(tab0, "1"); + tabWidget->addTab(tab1, "2"); + + QList actions0; + actions0 << new QAction("Quisque", tab0) << new QAction("Aenean", tab0); + QList actions1; + actions1 << new QAction("Phasellus", tab1) << new QAction("Maecenas", tab1); + + tabWidget->setTabContextMenuPolicy(Qt::ActionsContextMenu); + tabWidget->addTabActions(0, actions0); + tabWidget->addTabActions(1, actions1); + \endcode + + \image html qxttabwidget.png "QxtTabWidget in WindowsXP style." + + \note http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=137891 + */ + +/*! + \fn QxtTabWidget::tabContextMenuRequested(int index, const QPoint& globalPos) + + This signal is emitted whenever the context menu is requested over + tab at \a index at \a globalPos. + */ + +/*! + Constructs a new QxtTabWidget with \a parent. + */ +QxtTabWidget::QxtTabWidget(QWidget* parent) : QTabWidget(parent) +{ + QXT_INIT_PRIVATE(QxtTabWidget); +} + +/*! + Destructs the tab widget. + */ +QxtTabWidget::~QxtTabWidget() +{} + +/*! + \property QxtTabWidget::tabContextMenuPolicy + \brief This property holds how the tab specific context menus are handled. + + The default value of this property is \b Qt::DefaultContextMenu, + which means that the tabContextMenuEvent() handler is called. + Other values are \b Qt::NoContextMenu, \b Qt::PreventContextMenu + (since Qt 4.2), \b Qt::ActionsContextMenu, and \b Qt::CustomContextMenu. + With \b Qt::CustomContextMenu, the signal tabContextMenuRequested() is + emitted. + + \sa tabContextMenuEvent(), tabContextMenuRequested(), tabActions() + */ +Qt::ContextMenuPolicy QxtTabWidget::tabContextMenuPolicy() const +{ + return qxt_d().policy; +} + +void QxtTabWidget::setTabContextMenuPolicy(Qt::ContextMenuPolicy policy) +{ + qxt_d().policy = policy; +} + +/*! + Appends the \a action to the list of actions of the + tab at \a index. + + \sa removeTabAction(), insertTabAction(), tabActions() + */ +void QxtTabWidget::addTabAction(int index, QAction* action) +{ + insertTabAction(index, 0, action); +} + +/*! + This convenience function creates a new action with \a text. The function + adds the newly created action to the list of actions of the tab at + \a index, and returns it. + + \sa addTabAction() + */ +QAction* QxtTabWidget::addTabAction(int index, const QString& text) +{ + return addTabAction(index, QIcon(), text, 0, 0); +} + +/*! + This convenience function creates a new action with \a icon and \a text. + The function adds the newly created action to the list of actions of the + tab at \a index, and returns it. + + \sa addTabAction() + */ +QAction* QxtTabWidget::addTabAction(int index, const QIcon& icon, const QString& text) +{ + return addTabAction(index, icon, text, 0, 0); +} + +/*! + This convenience function creates a new action with \a text and + an optional \a shortcut. The action's triggered() signal is + connected to the \a receiver's \a member slot. The function adds + the newly created action to the list of actions of the tab at + \a index, and returns it. + + \note In order to make it possible for the shortcut to work even + when the context menu is not open, the action must be added to + a visible widget. The corresponding tab is a good alternative. + + \code + QWidget* tab = createNewTab(); + tabWidget->addTab(tab, title); + QAction* action = tabWidget->addTabAction(index, tr("Close"), this, SLOT(closeCurrentTab()), tr("Ctrl+W")); + tab->addAction(act); + \endcode + + \sa addTabAction(), QWidget::addAction() + */ +QAction* QxtTabWidget::addTabAction(int index, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut) +{ + return addTabAction(index, QIcon(), text, receiver, member, shortcut); +} + +/*! + This convenience function creates a new action with \a icon, \a text + and an optional \a shortcut. The action's triggered() signal is connected + to the \a receiver's \a member slot. The function adds the newly created + action to the list of actions of the tab at \a index, and returns it. + + \sa addTabAction() + */ +QAction* QxtTabWidget::addTabAction(int index, const QIcon& icon, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut) +{ + QAction* action = new QAction(icon, text, this); + addTabAction(index, action); + if (receiver && member) + connect(action, SIGNAL(triggered()), receiver, member); + action->setShortcut(shortcut); + return action; +} + +/*! + Appends the \a actions to the list of actions of the + tab at \a index. + + \sa removeTabAction(), addTabAction() + */ +void QxtTabWidget::addTabActions(int index, QList actions) +{ + foreach (QAction* action, actions) + { + insertTabAction(index, 0, action); + } +} + +/*! + Clears the list of actions of the tab at \a index. + + \note Only actions owned by the tab widget are deleted. + + \sa removeTabAction(), addTabAction() + */ +void QxtTabWidget::clearTabActions(int index) +{ + Q_ASSERT(index >= 0 && index < qxt_d().actions.count()); + + while (qxt_d().actions[index].count()) + { + QAction* action = qxt_d().actions[index].last(); + removeTabAction(index, action); + if (action->parent() == this) + delete action; + } +} + +/*! + Inserts the \a action to the list of actions of the + tab at \a index, before the action \a before. It appends + the action if \a before is \c 0. + + \sa removeTabAction(), addTabAction(), tabContextMenuPolicy, tabActions() + */ +void QxtTabWidget::insertTabAction(int index, QAction* before, QAction* action) +{ + Q_ASSERT(index >= 0 && index < qxt_d().actions.count()); + + if (!action) + { + qWarning("QxtTabWidget::insertTabAction: Attempt to insert a null action"); + return; + } + + const Actions& actions = qxt_d().actions.at(index); + if (actions.contains(action)) + removeTabAction(index, action); + + int pos = actions.indexOf(before); + if (pos < 0) + { + before = 0; + pos = actions.count(); + } + qxt_d().actions[index].insert(pos, action); + + QActionEvent e(QEvent::ActionAdded, action, before); + QApplication::sendEvent(this, &e); +} + +/*! + Inserts the \a actions to the list of actions of the + tab at \a index, before the action \a before. It appends + the action if \a before is \c 0. + + \sa removeAction(), QMenu, insertAction(), contextMenuPolicy + */ +void QxtTabWidget::insertTabActions(int index, QAction* before, QList actions) +{ + foreach (QAction* action, actions) + { + insertTabAction(index, before, action); + } +} + +/*! + Removes the action \a action from the list of actions of the + tab at \a index. + + \note The removed action is not deleted. + + \sa insertTabAction(), tabActions(), insertTabAction() + */ +void QxtTabWidget::removeTabAction(int index, QAction* action) +{ + Q_ASSERT(index >= 0 && index < qxt_d().actions.count()); + + if (!action) + { + qWarning("QxtTabWidget::removeTabAction: Attempt to remove a null action"); + return; + } + + if (qxt_d().actions[index].removeAll(action)) + { + QActionEvent e(QEvent::ActionRemoved, action); + QApplication::sendEvent(this, &e); + } +} + +/*! + Returns the (possibly empty) list of actions for the + tab at \a index. + + \sa tabContextMenuPolicy, insertTabAction(), removeTabAction() + */ +QList QxtTabWidget::tabActions(int index) const +{ + Q_ASSERT(index >= 0 && index < qxt_d().actions.count()); + return qxt_d().actions.at(index); +} + +void QxtTabWidget::tabInserted(int index) +{ + Q_ASSERT(index >= 0 && index <= qxt_d().actions.count()); + qxt_d().actions.insert(index, Actions()); +} + +void QxtTabWidget::tabRemoved(int index) +{ + Q_ASSERT(index >= 0 && index < qxt_d().actions.count()); + qxt_d().actions.removeAt(index); +} + +void QxtTabWidget::contextMenuEvent(QContextMenuEvent* event) +{ + const QPoint& pos = event->pos(); + if (!tabBar()->geometry().contains(pos)) + return QTabWidget::contextMenuEvent(event); + + const int index = qxt_d().tabIndexAt(event->pos()); + switch (qxt_d().policy) + { + case Qt::NoContextMenu: + event->ignore(); + break; + +#if QT_VERSION >= 0x040200 + case Qt::PreventContextMenu: + event->accept(); + break; +#endif // QT_VERSION + + case Qt::ActionsContextMenu: + if (index != -1 && qxt_d().actions.at(index).count()) + { + QMenu::exec(qxt_d().actions.at(index), event->globalPos()); + } + break; + + case Qt::CustomContextMenu: + if (index != -1) + { + emit tabContextMenuRequested(index, event->globalPos()); + } + break; + + case Qt::DefaultContextMenu: + default: + if (index != -1) + { + tabContextMenuEvent(index, event); + } + break; + } +} + +/*! + This event handler, for event \a event, can be reimplemented in a + subclass to receive context menu events for the tab at \a index. + + The handler is called when \b tabContextMenuPolicy is + \b Qt::DefaultContextMenu. + + The default implementation ignores the context menu event. + + \sa tabContextMenuPolicy, tabContextMenuRequested() + */ +void QxtTabWidget::tabContextMenuEvent(int index, QContextMenuEvent* event) +{ + Q_UNUSED(index); + event->ignore(); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.h new file mode 100644 index 00000000..e1949118 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttabwidget.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTABWIDGET_H +#define QXTTABWIDGET_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtTabWidgetPrivate; + +class QXT_GUI_EXPORT QxtTabWidget : public QTabWidget +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtTabWidget); + Q_PROPERTY(Qt::ContextMenuPolicy tabContextMenuPolicy READ tabContextMenuPolicy WRITE setTabContextMenuPolicy) + +public: + explicit QxtTabWidget(QWidget* parent = 0); + virtual ~QxtTabWidget(); + + Qt::ContextMenuPolicy tabContextMenuPolicy() const; + void setTabContextMenuPolicy(Qt::ContextMenuPolicy policy); + + void addTabAction(int index, QAction* action); + QAction* addTabAction(int index, const QString& text); + QAction* addTabAction(int index, const QIcon& icon, const QString& text); + QAction* addTabAction(int index, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut = 0); + QAction* addTabAction(int index, const QIcon& icon, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut = 0); + void addTabActions(int index, QList actions); + void clearTabActions(int index); + void insertTabAction(int index, QAction* before, QAction* action); + void insertTabActions(int index, QAction* before, QList actions); + void removeTabAction(int index, QAction* action); + QList tabActions(int index) const; + +signals: + void tabContextMenuRequested(int index, const QPoint& globalPos); + +protected: +#ifndef QXT_DOXYGEN_RUN + virtual void tabInserted(int index); + virtual void tabRemoved(int index); + + virtual void contextMenuEvent(QContextMenuEvent* event); +#endif // QXT_DOXYGEN_RUN + virtual void tabContextMenuEvent(int index, QContextMenuEvent* event); +}; + +#endif // QXTQXTTABWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.cpp new file mode 100644 index 00000000..8d274704 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.cpp @@ -0,0 +1,370 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttooltip.h" +#include "qxttooltip_p.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const Qt::WindowFlags FLAGS = Qt::ToolTip; + +QxtToolTipPrivate* QxtToolTipPrivate::self = 0; + +QxtToolTipPrivate* QxtToolTipPrivate::instance() +{ + if (!self) + self = new QxtToolTipPrivate(); + return self; +} + +QxtToolTipPrivate::QxtToolTipPrivate() : QWidget(qApp->desktop(), FLAGS) +{ + setWindowFlags(FLAGS); + vbox = new QVBoxLayout(this); + setPalette(QToolTip::palette()); + setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, this) / 255.0); + layout()->setMargin(style()->pixelMetric(QStyle::PM_ToolTipLabelFrameWidth, 0, this)); + qApp->installEventFilter(this); +} + +QxtToolTipPrivate::~QxtToolTipPrivate() +{ + qApp->removeEventFilter(this); // not really necessary but rather for completeness :) + self = 0; +} + +void QxtToolTipPrivate::show(const QPoint& pos, QWidget* tooltip, QWidget* parent, const QRect& rect) +{ + Q_ASSERT(tooltip && parent); + if (!isVisible()) + { + int scr = 0; + if (QApplication::desktop()->isVirtualDesktop()) + scr = QApplication::desktop()->screenNumber(pos); + else + scr = QApplication::desktop()->screenNumber(this); + setParent(QApplication::desktop()->screen(scr)); + setWindowFlags(FLAGS); + setToolTip(tooltip); + currentParent = parent; + currentRect = rect; + move(calculatePos(scr, pos)); + QWidget::show(); + } +} + +void QxtToolTipPrivate::setToolTip(QWidget* tooltip) +{ + for (int i = 0; i < vbox->count(); ++i) + { + QLayoutItem* item = layout()->takeAt(i); + if (item->widget()) + item->widget()->hide(); + } + vbox->addWidget(tooltip); + tooltip->show(); +} + +void QxtToolTipPrivate::enterEvent(QEvent* event) +{ + Q_UNUSED(event); + hideLater(); +} + +void QxtToolTipPrivate::paintEvent(QPaintEvent* event) +{ + Q_UNUSED(event); + QStylePainter painter(this); + QStyleOptionFrame opt; + opt.initFrom(this); + painter.drawPrimitive(QStyle::PE_PanelTipLabel, opt); +} + +bool QxtToolTipPrivate::eventFilter(QObject* object, QEvent* event) +{ + switch (event->type()) + { + case QEvent::KeyPress: + case QEvent::KeyRelease: + { + // accept only modifiers + const QKeyEvent* keyEvent = static_cast(event); + const int key = keyEvent->key(); + const Qt::KeyboardModifiers mods = keyEvent->modifiers(); + if ((mods & Qt::KeyboardModifierMask) || + (key == Qt::Key_Shift || key == Qt::Key_Control || + key == Qt::Key_Alt || key == Qt::Key_Meta)) + break; + } + case QEvent::Leave: + case QEvent::WindowActivate: + case QEvent::WindowDeactivate: + case QEvent::MouseButtonPress: + case QEvent::MouseButtonRelease: + case QEvent::MouseButtonDblClick: + case QEvent::FocusIn: + case QEvent::FocusOut: + case QEvent::Wheel: + hideLater(); + break; + + case QEvent::MouseMove: + { + const QPoint pos = static_cast(event)->pos(); + if (!currentRect.isNull() && !currentRect.contains(pos)) + { + hideLater(); + } + break; + } + + case QEvent::ToolTip: + { + // eat appropriate tooltip events + QWidget* widget = static_cast(object); + if (tooltips.contains(widget)) + { + QHelpEvent* helpEvent = static_cast(event); + const QRect area = tooltips.value(widget).second; + if (area.isNull() || area.contains(helpEvent->pos())) + { + show(helpEvent->globalPos(), tooltips.value(widget).first, widget, area); + return true; + } + } + } + + default: + break; + } + return false; +} + +void QxtToolTipPrivate::hideLater() +{ + currentRect = QRect(); + if (isVisible()) + QTimer::singleShot(0, this, SLOT(hide())); +} + +QPoint QxtToolTipPrivate::calculatePos(int scr, const QPoint& eventPos) const +{ +#ifdef Q_WS_MAC + QRect screen = QApplication::desktop()->availableGeometry(scr); +#else + QRect screen = QApplication::desktop()->screenGeometry(scr); +#endif + + QPoint p = eventPos; + p += QPoint(2, +#ifdef Q_WS_WIN + 24 +#else + 16 +#endif + ); + QSize s = sizeHint(); + if (p.x() + s.width() > screen.x() + screen.width()) + p.rx() -= 4 + s.width(); + if (p.y() + s.height() > screen.y() + screen.height()) + p.ry() -= 24 + s.height(); + if (p.y() < screen.y()) + p.setY(screen.y()); + if (p.x() + s.width() > screen.x() + screen.width()) + p.setX(screen.x() + screen.width() - s.width()); + if (p.x() < screen.x()) + p.setX(screen.x()); + if (p.y() + s.height() > screen.y() + screen.height()) + p.setY(screen.y() + screen.height() - s.height()); + return p; +} + +/*! + \class QxtToolTip QxtToolTip + \ingroup QxtGui + \brief Show any arbitrary widget as a tooltip. + + QxtToolTip provides means for showing any arbitrary widget as a tooltip. + + \note The rich text support of QToolTip already makes it possible to + show heavily customized tooltips with lists, tables, embedded images + and such. However, for example dynamically created images like + thumbnails cause problems. Basically the only way is to dump the + thumbnail to a temporary file to be able to embed it into HTML. This + is where QxtToolTip steps in. A generated thumbnail may simply be set + on a QLabel which is then shown as a tooltip. Yet another use case + is a tooltip with dynamically changing content. + + \image html qxttooltip.png "QxtToolTip in action." + + \warning Added tooltip widgets remain in the memory for the lifetime + of the application or until they are removed/deleted. Do NOT flood your + application up with lots of complex tooltip widgets or it will end up + being a resource hog. QToolTip is sufficient for most of the cases! + */ + +/*! + Shows the \a tooltip at \a pos for \a parent at \a rect. + + \sa hide() +*/ +void QxtToolTip::show(const QPoint& pos, QWidget* tooltip, QWidget* parent, const QRect& rect) +{ + QxtToolTipPrivate::instance()->show(pos, tooltip, parent, rect); +} + +/*! + Hides the tooltip. + + \sa show() +*/ +void QxtToolTip::hide() +{ + QxtToolTipPrivate::instance()->hide(); +} + +/*! + Returns the tooltip for \a parent. + + \sa setToolTip() +*/ +QWidget* QxtToolTip::toolTip(QWidget* parent) +{ + Q_ASSERT(parent); + QWidget* tooltip = 0; + if (!QxtToolTipPrivate::instance()->tooltips.contains(parent)) + qWarning("QxtToolTip::toolTip: Unknown parent"); + else + tooltip = QxtToolTipPrivate::instance()->tooltips.value(parent).first; + return tooltip; +} + +/*! + Sets the \a tooltip to be shown for \a parent. + An optional \a rect may also be passed. + + \sa toolTip() +*/ +void QxtToolTip::setToolTip(QWidget* parent, QWidget* tooltip, const QRect& rect) +{ + Q_ASSERT(parent); + if (tooltip) + { + // set + tooltip->hide(); + QxtToolTipPrivate::instance()->tooltips[parent] = qMakePair(QPointer(tooltip), rect); + } + else + { + // remove + if (!QxtToolTipPrivate::instance()->tooltips.contains(parent)) + qWarning("QxtToolTip::setToolTip: Unknown parent"); + else + QxtToolTipPrivate::instance()->tooltips.remove(parent); + } +} + +/*! + Returns the rect on which tooltip is shown for \a parent. + + \sa setToolTipRect() +*/ +QRect QxtToolTip::toolTipRect(QWidget* parent) +{ + Q_ASSERT(parent); + QRect rect; + if (!QxtToolTipPrivate::instance()->tooltips.contains(parent)) + qWarning("QxtToolTip::toolTipRect: Unknown parent"); + else + rect = QxtToolTipPrivate::instance()->tooltips.value(parent).second; + return rect; +} + +/*! + Sets the \a rect on which tooltip is shown for \a parent. + + \sa toolTipRect() +*/ +void QxtToolTip::setToolTipRect(QWidget* parent, const QRect& rect) +{ + Q_ASSERT(parent); + if (!QxtToolTipPrivate::instance()->tooltips.contains(parent)) + qWarning("QxtToolTip::setToolTipRect: Unknown parent"); + else + QxtToolTipPrivate::instance()->tooltips[parent].second = rect; +} + +/*! + Returns the margin of the tooltip. + + \sa setMargin() +*/ +int QxtToolTip::margin() +{ + return QxtToolTipPrivate::instance()->layout()->margin(); +} + +/*! + Sets the margin of the tooltip. + + The default value is \b QStyle::PM_ToolTipLabelFrameWidth. + + \sa margin() +*/ +void QxtToolTip::setMargin(int margin) +{ + QxtToolTipPrivate::instance()->layout()->setMargin(margin); +} + +/*! + Returns the opacity level of the tooltip. + + \sa QWidget::windowOpacity() +*/ +qreal QxtToolTip::opacity() +{ + return QxtToolTipPrivate::instance()->windowOpacity(); +} + +/*! + Sets the opacity level of the tooltip. + + The default value is \b QStyle::SH_ToolTipLabel_Opacity. + + \sa QWidget::setWindowOpacity() +*/ +void QxtToolTip::setOpacity(qreal level) +{ + QxtToolTipPrivate::instance()->setWindowOpacity(level); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.h new file mode 100644 index 00000000..3dc7733c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTOOLTIP_H +#define QXTTOOLTIP_H + +#include +#include +#include "qxtglobal.h" + +class QWidget; + +class QXT_GUI_EXPORT QxtToolTip +{ +#ifndef QXT_DOXYGEN_RUN + explicit QxtToolTip() + {} +#endif // QXT_DOXYGEN_RUN + +public: + static void show(const QPoint& pos, QWidget* tooltip, QWidget* parent = 0, const QRect& rect = QRect()); + static void hide(); + + static QWidget* toolTip(QWidget* parent); + static void setToolTip(QWidget* parent, QWidget* tooltip, const QRect& rect = QRect()); + + static QRect toolTipRect(QWidget* parent); + static void setToolTipRect(QWidget* parent, const QRect& rect); + + static int margin(); + static void setMargin(int margin); + + static qreal opacity(); + static void setOpacity(qreal level); +}; + +inline uint qHash(const QPointer key) +{ + return reinterpret_cast(key ? (&*key) : 0); +} + +#endif // QXTTOOLTIP_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip_p.h new file mode 100644 index 00000000..49e1968e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttooltip_p.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTOOLTIP_P_H +#define QXTTOOLTIP_P_H + +#include +#include +#include + +class QVBoxLayout; + +typedef QPointer WidgetPtr; +typedef QPair WidgetArea; + +class QxtToolTipPrivate : public QWidget +{ + Q_OBJECT + +public: + QxtToolTipPrivate(); + ~QxtToolTipPrivate(); + + static QxtToolTipPrivate* instance(); + void show(const QPoint& pos, QWidget* tooltip, QWidget* parent = 0, const QRect& rect = QRect()); + void setToolTip(QWidget* tooltip); + bool eventFilter(QObject* parent, QEvent* event); + void hideLater(); + QPoint calculatePos(int scr, const QPoint& eventPos) const; + QHash tooltips; + QVBoxLayout* vbox; + +protected: + void enterEvent(QEvent* event); + void paintEvent(QPaintEvent* event); + +private: + static QxtToolTipPrivate* self; + QWidget* currentParent; + QRect currentRect; +}; + +#endif // QXTTOOLTIP_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.cpp new file mode 100644 index 00000000..af3aa4cc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.cpp @@ -0,0 +1,174 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttreewidget.h" +#include "qxtitemdelegate.h" +#include "qxttreewidget_p.h" +#include + +QxtTreeWidgetPrivate::QxtTreeWidgetPrivate() +{} + +QxtItemDelegate* QxtTreeWidgetPrivate::delegate() const +{ + QxtItemDelegate* del = dynamic_cast(qxt_p().itemDelegate()); + Q_ASSERT(del); + return del; +} + +void QxtTreeWidgetPrivate::informStartEditing(const QModelIndex& index) +{ + QTreeWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingStarted(item); +} + +void QxtTreeWidgetPrivate::informFinishEditing(const QModelIndex& index) +{ + QTreeWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingFinished(item); +} + +void QxtTreeWidgetPrivate::expandCollapse(QTreeWidgetItem* item) +{ + if (item && !item->parent() && delegate()->decorationStyle() != Qxt::NoDecoration) + qxt_p().setItemExpanded(item, !qxt_p().isItemExpanded(item)); +} + +/*! + \class QxtTreeWidget QxtTreeWidget + \ingroup QxtGui + \brief An extended QTreeWidget with additional signals. + + QxtTreeWidget offers an optional top level item decoration + and a few most commonly requested signals. + + \image html qxttreewidget.png "QxtTreeWidget with Qxt::Menulike and Qxt::Buttonlike decoration styles, respectively." + */ + +/*! + \fn QxtTreeWidget::itemEditingStarted(QTreeWidgetItem* item) + + This signal is emitted after the editing of \a item has been started. + + \sa itemEditingFinished() + */ + +/*! + \fn QxtTreeWidget::itemEditingFinished(QTreeWidgetItem* item) + + This signal is emitted after the editing of \a item has been finished. + + \sa itemEditingStarted() + */ + +/*! + \fn QxtTreeWidget::itemCheckStateChanged(QxtTreeWidgetItem* item) + + This signal is emitted whenever the check state of \a item has changed. + + \note Use QxtTreeWidgetItem in order to enable this feature. + + \sa QxtTreeWidgetItem, QTreeWidgetItem::checkState() + */ + +/*! + Constructs a new QxtTreeWidget with \a parent. + */ +QxtTreeWidget::QxtTreeWidget(QWidget* parent) : QTreeWidget(parent) +{ + QXT_INIT_PRIVATE(QxtTreeWidget); + QxtItemDelegate* delegate = new QxtItemDelegate(this); + connect(delegate, SIGNAL(editingStarted(const QModelIndex&)), + &qxt_d(), SLOT(informStartEditing(const QModelIndex&))); + connect(delegate, SIGNAL(editingFinished(const QModelIndex&)), + &qxt_d(), SLOT(informFinishEditing(const QModelIndex&))); + connect(this, SIGNAL(itemPressed(QTreeWidgetItem*, int)), + &qxt_d(), SLOT(expandCollapse(QTreeWidgetItem*))); + setItemDelegate(delegate); +} + +/*! + Destructs the tree widget. + */ +QxtTreeWidget::~QxtTreeWidget() +{} + +/*! + \property QxtTreeWidget::decorationStyle + \brief This property holds the top level item decoration style + + Top level items are decorated according to this property. + The default value is \b Qxt::NoDecoration. + + \note Setting the property to anything else than \b Qxt::NoDecoration + hides the header and sets \b QTreeView::rootIsDecorated to \b false + (to avoid multiple branch indicators). + + \sa Qxt::DecorationStyle QTreeView::rootIsDecorated + */ +Qxt::DecorationStyle QxtTreeWidget::decorationStyle() const +{ + return qxt_d().delegate()->decorationStyle(); +} + +void QxtTreeWidget::setDecorationStyle(Qxt::DecorationStyle style) +{ + if (qxt_d().delegate()->decorationStyle() != style) + { + qxt_d().delegate()->setDecorationStyle(style); + + if (style != Qxt::NoDecoration) + { + setRootIsDecorated(false); + header()->hide(); + } + reset(); + } +} + +/*! + \property QxtTreeWidget::elideMode + \brief This property holds the text elide mode + + The text of a decorated top level item is elided according to this property. + The default value is \b Qt::ElideMiddle. + + \note The property has effect only for decorated top level items. + + \sa decorationStyle, Qt::TextElideMode + */ +Qt::TextElideMode QxtTreeWidget::elideMode() const +{ + return qxt_d().delegate()->elideMode(); +} + +void QxtTreeWidget::setElideMode(Qt::TextElideMode mode) +{ + if (qxt_d().delegate()->elideMode() != mode) + { + qxt_d().delegate()->setElideMode(mode); + reset(); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.h new file mode 100644 index 00000000..a8d8da04 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget.h @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTREEWIDGET_H +#define QXTTREEWIDGET_H + +#include +#include "qxttreewidgetitem.h" +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtTreeWidgetPrivate; + +class QXT_GUI_EXPORT QxtTreeWidget : public QTreeWidget +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtTreeWidget); + Q_PROPERTY(Qxt::DecorationStyle decorationStyle READ decorationStyle WRITE setDecorationStyle) + Q_PROPERTY(Qt::TextElideMode elideMode READ elideMode WRITE setElideMode) + friend class QxtTreeWidgetItem; + +public: + explicit QxtTreeWidget(QWidget* parent = 0); + virtual ~QxtTreeWidget(); + + Qxt::DecorationStyle decorationStyle() const; + void setDecorationStyle(Qxt::DecorationStyle style); + + Qt::TextElideMode elideMode() const; + void setElideMode(Qt::TextElideMode mode); + +signals: + void itemEditingStarted(QTreeWidgetItem* item); + void itemEditingFinished(QTreeWidgetItem* item); + void itemCheckStateChanged(QxtTreeWidgetItem* item); +}; + +#endif // QXTTREEWIDGET_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget_p.h new file mode 100644 index 00000000..ba80abdc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidget_p.h @@ -0,0 +1,46 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTREEWIDGET_P_H +#define QXTTREEWIDGET_P_H + +#include "qxttreewidget.h" +#include "qxtpimpl.h" + +class QxtItemDelegate; + +class QxtTreeWidgetPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT +public: + QXT_DECLARE_PUBLIC(QxtTreeWidget); + QxtTreeWidgetPrivate(); + QxtItemDelegate* delegate() const; + +private slots: + void informStartEditing(const QModelIndex& index); + void informFinishEditing(const QModelIndex& index); + void expandCollapse(QTreeWidgetItem* item); +}; + +#endif // QXTTREEWIDGET_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.cpp new file mode 100644 index 00000000..42975e8f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.cpp @@ -0,0 +1,123 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttreewidgetitem.h" +#include "qxttreewidget.h" + +/*! + \class QxtTreeWidgetItem QxtTreeWidgetItem + \ingroup QxtGui + \brief An extended QTreeWidgetItem. + + QxtTreeWidgetItem provides means for offering check state change signals and + convenience methods for testing and setting flags. + + \sa QxtTreeWidget + */ + + +QxtTreeWidgetItem::QxtTreeWidgetItem(int type) + : QTreeWidgetItem(type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(const QStringList& strings, int type) + : QTreeWidgetItem(strings, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidget* parent, int type) + : QTreeWidgetItem(parent, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidget* parent, const QStringList& strings, int type) + : QTreeWidgetItem(parent, strings, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidget* parent, QTreeWidgetItem* preceding, int type) + : QTreeWidgetItem(parent, preceding, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidgetItem* parent, int type) + : QTreeWidgetItem(parent, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidgetItem* parent, const QStringList& strings, int type) + : QTreeWidgetItem(parent, strings, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(QTreeWidgetItem* parent, QTreeWidgetItem* preceding, int type) + : QTreeWidgetItem(parent, preceding, type) +{} + +QxtTreeWidgetItem::QxtTreeWidgetItem(const QxtTreeWidgetItem& other) + : QTreeWidgetItem(other) +{} + +QxtTreeWidgetItem::~QxtTreeWidgetItem() +{} + +/*! + Returns \b true if the \a flag is set, otherwise \b false. + + \sa setFlag(), QTreeWidgetItem::flags(), Qt::ItemFlag + */ +bool QxtTreeWidgetItem::testFlag(Qt::ItemFlag flag) const +{ + return (flags() & flag); +} + +/*! + If \a enabled is \b true, the item \a flag is enabled; otherwise, it is disabled. + + \sa testFlag(), QTreeWidgetItem::setFlags(), Qt::ItemFlag + */ +void QxtTreeWidgetItem::setFlag(Qt::ItemFlag flag, bool enabled) +{ + if (enabled) + setFlags(flags() | flag); + else + setFlags(flags() & ~flag); +} + +void QxtTreeWidgetItem::setData(int column, int role, const QVariant& value) +{ + if (role == Qt::CheckStateRole) + { + const Qt::CheckState newState = static_cast(value.toInt()); + const Qt::CheckState oldState = static_cast(data(column, role).toInt()); + + QTreeWidgetItem::setData(column, role, value); + + if (newState != oldState) + { + QxtTreeWidget* tree = qobject_cast(treeWidget()); + if (tree) + { + emit tree->itemCheckStateChanged(this); + } + } + } + else + { + QTreeWidgetItem::setData(column, role, value); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.h b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.h new file mode 100644 index 00000000..b55c09c1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxttreewidgetitem.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTREEWIDGETITEM_H +#define QXTTREEWIDGETITEM_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" + +class QXT_GUI_EXPORT QxtTreeWidgetItem : public QTreeWidgetItem +{ +public: + explicit QxtTreeWidgetItem(int type = Type); + explicit QxtTreeWidgetItem(const QStringList& strings, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidget* parent, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidget* parent, const QStringList& strings, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidget* parent, QTreeWidgetItem* preceding, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidgetItem* parent, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidgetItem* parent, const QStringList& strings, int type = Type); + explicit QxtTreeWidgetItem(QTreeWidgetItem* parent, QTreeWidgetItem* preceding, int type = Type); + explicit QxtTreeWidgetItem(const QxtTreeWidgetItem& other); + virtual ~QxtTreeWidgetItem(); + + bool testFlag(Qt::ItemFlag flag) const; + void setFlag(Qt::ItemFlag flag, bool enabled = true); + +#ifndef QXT_DOXYGEN_RUN + virtual void setData(int column, int role, const QVariant& value); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTTREEWIDGETITEM_H diff --git a/src/contrib/libqxt-2007-10-24/src/network/network.pro b/src/contrib/libqxt-2007-10-24/src/network/network.pro new file mode 100644 index 00000000..fd324c63 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/network.pro @@ -0,0 +1,23 @@ +TARGET = QxtNetwork +DESTDIR = ../../deploy/libs +DEPENDPATH += . +INCLUDEPATH += . ../core +DEFINES += BUILD_QXT_NETWORK +win32: CONFIG += dll +QT = core network +QXT = core +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +include(../../config.pri) + + + +HEADERS += qxtrpcpeer.h +SOURCES += qxtrpcpeer.cpp + + +#HEADERS += qxtnamedpipe.h +#SOURCES += qxtnamedpipe.cpp diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.cpp b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.cpp new file mode 100644 index 00000000..0513af7b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.cpp @@ -0,0 +1,102 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtNetwork module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +/** +\class QxtNamedPipe QxtNamedPipe + +\ingroup QxtNetwork + +\brief Provides a QIODevice over a named pipe + +\note not part of 0.2.4 +*/ + + + + +#include "qxtnamedpipe.h" +#ifdef Q_OS_UNIX +# include +class QxtNamedPipePrivate : public QxtPrivate +{ +public: + QxtNamedPipePrivate() + {} + QXT_DECLARE_PUBLIC(QxtNamedPipe); + + QString pipeName; + int fd; +}; + +QxtNamedPipe::QxtNamedPipe(const QString& name, QObject* parent) : QAbstractSocket(QAbstractSocket::UnknownSocketType, parent) +{ + QXT_INIT_PRIVATE(QxtNamedPipe); + qxt_d().pipeName = name; + qxt_d().fd = 0; +} + +bool QxtNamedPipe::open(QIODevice::OpenMode mode) +{ + int m = O_RDWR; + + if (!(mode & QIODevice::ReadOnly)) ///FIXME: what? + m = O_WRONLY; + else if (!(mode & QIODevice::WriteOnly)) + m = O_RDONLY; + qxt_d().fd = ::open(qPrintable(qxt_d().pipeName), m); + + if (qxt_d().fd != 0) + { + setSocketDescriptor(qxt_d().fd, QAbstractSocket::ConnectedState, mode); + setOpenMode ( mode); + return true; + } + else + { + return false; + } +} + +bool QxtNamedPipe::open(const QString& name, QIODevice::OpenMode mode) +{ + qxt_d().pipeName = name; + return QxtNamedPipe::open(mode); +} + +void QxtNamedPipe::close() +{ + if (qxt_d().fd) ::close(qxt_d().fd); + setOpenMode(QIODevice::NotOpen); +} + +QByteArray QxtNamedPipe::readAvailableBytes() +{ + char ch; + QByteArray rv; + while (getChar(&ch)) rv += ch; + return rv; +} +#else +# error "No Windows implementation for QxtNamedPipe" +#endif + diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.h b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.h new file mode 100644 index 00000000..c8217bfa --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtNetwork module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTNAMEDPIPE_H +#define QXTNAMEDPIPE_H + +#include +#include +#include +#include +#include + +class QxtNamedPipePrivate; +class QXT_NETWORK_EXPORT QxtNamedPipe : public QAbstractSocket +{ + Q_OBJECT +public: + QxtNamedPipe(const QString& name = QString(), QObject* parent = 0); + + bool open(QIODevice::OpenMode mode); + bool open(const QString& name, QIODevice::OpenMode mode); + void close(); + + QByteArray readAvailableBytes(); + +private: + QXT_DECLARE_PRIVATE(QxtNamedPipe); +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_unix.cpp b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_unix.cpp new file mode 100644 index 00000000..2f5c7cf8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_unix.cpp @@ -0,0 +1,51 @@ +#include "QxtNamedPipe.h" +#ifdef Q_OS_UNIX +# include +#else +# error "No Windows implementation for QxtNamedPipe" +#endif + +class QxtNamedPipePrivate : public QxtPrivate +{ +public: + QxtNamedPipePrivate(); + QXT_DECLARE_PUBLIC(QxtNamedPipe); + + QString pipeName; + int fd; +}; + +QxtNamedPipe::QxtNamedPipe(const QString& name, QObject* parent) : QAbstractSocket(QAbstractSocket::UnknownSocketType, parent) +{ + QXT_INIT_PRIVATE(QxtNamedPipe); + qxt_d().pipeName = name; + qxt_d().fd = 0; +} + +bool QxtNamedPipe::open(QIODevice::OpenMode mode) +{ + int m = O_RDWR; + if (!(mode & QIODevice::ReadOnly)) m = O_WRONLY; + else if (!(mode & QIODevice::WriteOnly)) m = O_RDONLY; + qxt_d().fd = ::open(qPrintable(qxt_d().pipeName), m); + return (qxt_d().fd != 0); +} + +bool QxtNamedPipe::open(const QString& name, QIODevice::OpenMode mode) +{ + qxt_d().pipeName = name; + return QxtNamedPipe::open(mode); +} + +void QxtNamedPipe::close() +{ + if (qxt_d().fd) ::close(qxt_d().fd); +} + +QByteArray QxtNamedPipe::readAvailableBytes() +{ + char ch; + QByteArray rv; + while (getChar(&ch)) rv += ch; + return rv; +} diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.cpp b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.cpp new file mode 100644 index 00000000..d7fc6da3 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.cpp @@ -0,0 +1,202 @@ +#include +#include +#include +#include +#include "qxtnamedpipe.h" + +#define BUFSIZE 4096 +#define PIPE_TIMEOUT (120*1000) /*120 seconds*/ + +#include "qxtnamedpipe_win_p.h" + +void QxtNamedPipePrivate::bytesAvailable() +{ + char chBuf[BUFSIZE]; + bool fSuccess = false; + DWORD cbRead = 0; + + do + { + // Read from the pipe. + + memset((void *)chBuf,0,BUFSIZE*sizeof(char)); + + fSuccess = ReadFile( + this->win32Handle, // pipe handle + chBuf, // buffer to receive reply + BUFSIZE*sizeof(char), // size of buffer + &cbRead, // number of bytes read + NULL); // not overlapped + + if (! fSuccess && GetLastError() != ERROR_MORE_DATA) + break; + + this->readBuffer.append(QByteArray(chBuf,cbRead)); + + } + while (!fSuccess); // repeat loop if ERROR_MORE_DATA + + emit readyRead(); +} + +QxtNamedPipe::QxtNamedPipe(const QString& name, QObject* parent) : QIODevice(parent) +{ + QXT_INIT_PRIVATE(QxtNamedPipe); + qxt_d().pipeName = name; + qxt_d().win32Handle = INVALID_HANDLE_VALUE; + qxt_d().fd = -1; + qxt_d().serverMode = false; + qxt_d().notify = 0; + +} + +bool QxtNamedPipe::open(QIODevice::OpenMode mode) +{ + int m = PIPE_ACCESS_DUPLEX; + int m_client = GENERIC_READ | GENERIC_WRITE; + + if (!(mode & QIODevice::ReadOnly)) + { + m = PIPE_ACCESS_OUTBOUND; + m_client = GENERIC_WRITE; + } + else if (!(mode & QIODevice::WriteOnly)) + { + m = PIPE_ACCESS_INBOUND; + m_client = GENERIC_READ; + } + + QString pipePrefix("\\\\.\\pipe\\"); + + // first try to open in client mode + qxt_d().win32Handle = CreateFileA(qPrintable(pipePrefix+qxt_d().pipeName), // pipe name + m_client, // read and write access + 0, // no sharing + NULL, // default security attributes + OPEN_EXISTING , // opens a pipe + 0, // default attributes + NULL); // no template file + + //if we have no success create the pipe and open it + if (qxt_d().win32Handle == NULL || qxt_d().win32Handle == INVALID_HANDLE_VALUE) + { + qxt_d().win32Handle = CreateNamedPipeA(qPrintable(pipePrefix+qxt_d().pipeName), //pipe Name must be \\.\pipe\userdefinedname + m, //read/write mode + PIPE_NOWAIT, //don't block + 1, //max number of instances 1 + BUFSIZE, //ouput buffer size allocate as needed + BUFSIZE, //input buffer size allocate as needed + PIPE_TIMEOUT, //default timeout value + NULL); //security attributes + if (qxt_d().win32Handle != NULL && qxt_d().win32Handle != INVALID_HANDLE_VALUE) + qxt_d().serverMode = true; + } + else + { + qxt_d().serverMode = false; + + DWORD pipeMode = PIPE_NOWAIT; + SetNamedPipeHandleState( + qxt_d().win32Handle, // pipe handle + &pipeMode, // new pipe mode + NULL, // don't set maximum bytes + NULL); // don't set maximum time + + } + + + if (qxt_d().win32Handle != NULL && qxt_d().win32Handle != INVALID_HANDLE_VALUE) + { + qxt_d().fd = _open_osfhandle((long)qxt_d().win32Handle,0); //FIXME that is not x64 compatible + setOpenMode ( mode); + + if (!qxt_d().notify) + qxt_d().notify = new QSocketNotifier(qxt_d().fd,QSocketNotifier::Read,this); + + qxt_d().notify->setEnabled(true); + connect(qxt_d().notify,SIGNAL(activated(int)),&qxt_d(),SLOT(bytesAvailable())); + connect(&qxt_d(),SIGNAL(readyRead()),this,SIGNAL(readyRead())); + + return true; + } + else + { + return false; + } +} + +bool QxtNamedPipe::open(const QString& name, QIODevice::OpenMode mode) +{ + qxt_d().pipeName = name; + return QxtNamedPipe::open(mode); +} + +void QxtNamedPipe::close() +{ + if (qxt_d().win32Handle != NULL && qxt_d().win32Handle != INVALID_HANDLE_VALUE) + { + FlushFileBuffers(qxt_d().win32Handle); + if (qxt_d().serverMode) + { + DisconnectNamedPipe(qxt_d().win32Handle); + } + + qxt_d().notify->setEnabled(false); + delete qxt_d().notify; + qxt_d().notify = 0; + qxt_d().readBuffer.clear(); + + //this will close native and C handle + _close(qxt_d().fd); + qxt_d().win32Handle = INVALID_HANDLE_VALUE; + qxt_d().fd = -1; + } + setOpenMode(QIODevice::NotOpen); +} + +QByteArray QxtNamedPipe::readAvailableBytes() +{ + char ch; + QByteArray rv; + while (getChar(&ch)) rv += ch; + return rv; +} + +qint64 QxtNamedPipe::bytesAvailable () const +{ + return qxt_d().readBuffer.size(); +} + +qint64 QxtNamedPipe::readData ( char * data, qint64 maxSize ) +{ + qint64 toRead = qxt_d().readBuffer.size() < maxSize ? qxt_d().readBuffer.size() : maxSize; + + memcpy(data,qxt_d().readBuffer.data(),toRead); + qxt_d().readBuffer.remove(0,toRead); + + return toRead; + +} + +qint64 QxtNamedPipe::writeData ( const char * data, qint64 maxSize ) +{ + DWORD bytesWritten = 0; + + bool fSuccess = WriteFile( + qxt_d().win32Handle, // pipe handle + data, // message + maxSize, // message length + &bytesWritten, // bytes written + NULL); // not overlapped + if (!fSuccess) + { + return -1; + } + return bytesWritten; +} + +bool QxtNamedPipe::isSequential () const +{ + return true; +} + diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.h b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.h new file mode 100644 index 00000000..f231126c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win.h @@ -0,0 +1,34 @@ +#ifndef QXTNAMEDPIPE_H +#define QXTNAMEDPIPE_H + +#include +#include +#include +#include +#include + +class QxtNamedPipePrivate; + +class QXT_NETWORK_EXPORT QxtNamedPipe : public QIODevice +{ + Q_OBJECT + +public: + QxtNamedPipe(const QString& name = QString(), QObject* parent = 0); + virtual bool isSequential () const; + + virtual qint64 bytesAvailable () const; + virtual qint64 readData ( char * data, qint64 maxSize ); + virtual qint64 writeData ( const char * data, qint64 maxSize ); + + bool open(QIODevice::OpenMode mode); + bool open(const QString& name, QIODevice::OpenMode mode); + void close(); + + QByteArray readAvailableBytes(); + +private: + QXT_DECLARE_PRIVATE(QxtNamedPipe); +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win_p.h b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win_p.h new file mode 100644 index 00000000..321c34e0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtnamedpipe_win_p.h @@ -0,0 +1,36 @@ +#ifndef QXTNAMEDPIPEPRIVATE_WIN_H_INCLUDED +#define QXTNAMEDPIPEPRIVATE_WIN_H_INCLUDED + +#include +#include +#include +#include +#include "qxtpimpl.h" + +class QSocketNotifier; +class QxtNamedPipe; + +class QxtNamedPipePrivate : public QObject, public QxtPrivate +{ + Q_OBJECT +public: + QxtNamedPipePrivate() + {} + QXT_DECLARE_PUBLIC(QxtNamedPipe); + QString pipeName; + HANDLE win32Handle; + int fd; + bool serverMode; + QSocketNotifier * notify; + QByteArray readBuffer; + +signals: + void readyRead(); + +public slots: + void bytesAvailable(); + +}; + +#endif + diff --git a/src/contrib/qxt/qxtrpcpeer.cpp b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp similarity index 95% rename from src/contrib/qxt/qxtrpcpeer.cpp rename to src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp index 661d7761..58a6bf9a 100644 --- a/src/contrib/qxt/qxtrpcpeer.cpp +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp @@ -126,7 +126,6 @@ QxtRPCPeer::QxtRPCPeer(QIODevice* device, RPCTypes type, QObject* parent) : QObj QXT_INIT_PRIVATE(QxtRPCPeer); qxt_d().m_rpctype = type; qxt_d().m_peer = device; - //qDebug() << device->metaObject()->className(); if (qobject_cast(device)!=0) { @@ -281,7 +280,7 @@ bool QxtRPCPeer::attachSignal(QObject* sender, const char* signal, const QByteAr { if (QxtMetaObject::isSignalOrSlot(rpcFunction.constData())) { - spec->rpcFunction = QMetaObject::normalizedSignature(rpcFunction.constData()); + spec->rpcFunction = QMetaObject::normalizedSignature(rpcFunction); } else { @@ -363,15 +362,15 @@ QByteArray QxtRPCPeer::serialize(QString fn, QVariant p1, QVariant p2, QVariant else if (p8.isNull()) ct = 7; else if (p9.isNull()) ct = 8; str << ct; - if (ct--) str << p1; - if (ct--) str << p2; - if (ct--) str << p3; - if (ct--) str << p4; - if (ct--) str << p5; - if (ct--) str << p6; - if (ct--) str << p7; - if (ct--) str << p8; - if (ct--) str << p9; + if (ct-- >0 ) str << p1; + if (ct-- >0) str << p2; + if (ct-- >0) str << p3; + if (ct-- >0) str << p4; + if (ct-- >0) str << p5; + if (ct-- >0) str << p6; + if (ct-- >0) str << p7; + if (ct-- >0) str << p8; + if (ct-- >0) str << p9; rv.replace(QByteArray("\\"), QByteArray("\\\\")); rv.replace(QByteArray("\n"), QByteArray("\\n")); rv.append("\n"); @@ -425,20 +424,21 @@ void QxtRPCPeer::callClientsExcept(quint64 id, QString fn, QVariant p1, QVariant callClientList(cs, fn, p1, p2, p3, p4, p5, p6, p7, p8); } -#include + #define QXT_ARG(i) ((numParams>i)?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument()) void QxtRPCPeerPrivate::receivePeerSignal(QString fn, QVariant p0, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6, QVariant p7, QVariant p8) const { QByteArray sig; int numParams; - if(!attachedSlots.value(fn).count()) qDebug() << "no attached slot for signal" << fn;// qDebug() << attachedSlots; foreach(QxtRPCPeerPrivate::MethodID i, attachedSlots.value(fn)) { sig = i.first->metaObject()->method(i.second).signature(); sig = sig.left(sig.indexOf('(')); - numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); //qDebug() << "calling" << fn << p0 << p1 << p2; - bool res = QMetaObject::invokeMethod(i.first, sig, QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7), QXT_ARG(8)); - if(!res) qDebug() << "rpccall failed" << fn << sig << p0 << p1 << p2; + numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); + if(!QMetaObject::invokeMethod(i.first, sig, QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7), QXT_ARG(8))) + { + qWarning("QxtRPCPeerPrivate::receivePeerSignal: invokeMethod for \"%s\" failed ",sig.constData()); + } } } @@ -452,7 +452,10 @@ void QxtRPCPeerPrivate::receiveClientSignal(quint64 id, QString fn, QVariant p0, sig = i.first->metaObject()->method(i.second).signature(); sig = sig.left(sig.indexOf('(')); numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); - QMetaObject::invokeMethod(i.first, sig, Q_ARG(quint64, id), QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7)); + if(!QMetaObject::invokeMethod(i.first, sig, Q_ARG(quint64, id), QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7))) + { + qWarning("QxtRPCPeerPrivate::receiveClientSignal: invokeMethod for \"%s\" failed ",sig.constData()); + } } } @@ -524,8 +527,7 @@ void QxtRPCPeer::disconnectSender() QxtRPCConnection* conn = qxt_d().m_clients.value(sender()); if (!conn) { - //qDebug() << qxt_d().m_peer->metaObject()->className(); - if (qxt_d().m_peer!= qobject_cast(sender())) + if (qxt_d().m_peer!= qobject_cast(sender())) { qWarning() << "QxtRPCPeer: Unrecognized object connected to disconnectSender"; return; diff --git a/src/contrib/qxt/qxtrpcpeer.h b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.h similarity index 99% rename from src/contrib/qxt/qxtrpcpeer.h rename to src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.h index 377e802b..1584211e 100644 --- a/src/contrib/qxt/qxtrpcpeer.h +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.h @@ -37,7 +37,7 @@ class QTcpSocket; class QxtRPCPeerPrivate; /*! * \class QxtRPCPeer QxtRPCPeer - * \ingroup network + * \ingroup QxtNetwork * \brief Transmits Qt signals over a network connection * * QxtRPCPeer is a tool that encapsulates Qt signals and transmits them over a network connection. diff --git a/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackage.cpp b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackage.cpp new file mode 100644 index 00000000..01b8cc41 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackage.cpp @@ -0,0 +1,195 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtSql module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#include "qxtsqlpackage.h" +#include +#include + +QxtSqlPackage::QxtSqlPackage(QObject *parent) : QObject(parent) +{ + record = -1; +} + +QxtSqlPackage::QxtSqlPackage(const QxtSqlPackage & other, QObject *parent) : QObject(parent) +{ + record = -1; + + setData(other.data()); +} + +bool QxtSqlPackage::isValid() +{ + if ((record >= 0) && (record < map.count())) + return true; + else + return false; +} + +int QxtSqlPackage::at() +{ + return record; +} + +bool QxtSqlPackage::next() +{ + record++; + if (record > (map.count()-1)) + { + last(); + return false; + } + + return true; +} + +bool QxtSqlPackage::last() +{ + record=map.count()-1; + if (record >= 0) + return true; + else + return false; +} + +bool QxtSqlPackage::first() +{ + if (map.count()) + { + record=0; + return true; + } + else + { + record=-1; + return false; + } +} + +QString QxtSqlPackage::value(const QString& key) +{ + if ((record<0) || !map.count()) return QString(); + + return map.at(record).value(key); +} + + + +void QxtSqlPackage::insert(QSqlQuery query) +{ + map.clear(); + record=-1; + + /*query will be invalid if next is not called first*/ + if (!query.isValid()) + query.next(); + + QSqlRecord infoRecord = query.record(); + int iNumCols = infoRecord.count(); + QVector tableMap = QVector(iNumCols); + + /*first create a map of index->colname pairs*/ + for (int iLoop = 0; iLoop < iNumCols; iLoop++) + { + tableMap[iLoop] = infoRecord.fieldName(iLoop); + } + + /*now use this created map to get column names + *this should be faster than querying the QSqlRecord every time + *but that depends on the databasetype and size of the table (number of rows and cols) + */ + do + { + QHash hash; + for (int iColLoop = 0; iColLoop < iNumCols; iColLoop++) + { + hash[tableMap[iColLoop]] = query.value(iColLoop).toString(); + } + map.append(hash); + + } + while (query.next()); +} + + +int QxtSqlPackage::count() const +{ + return map.count(); +} + + +QByteArray QxtSqlPackage::data() const +{ + QBuffer buff; + buff.open(QBuffer::WriteOnly); + QDataStream stream(&buff); + + stream<> c; + + for (int i=0; i hash; + stream >> hash; + map.append(hash); + } +} + +QHash QxtSqlPackage::hash(int index) +{ + if (index > count()) return QHash(); + return map.at(index); +} + + +QHash QxtSqlPackage::hash() +{ + qDebug()< +** +****************************************************************************/ + + +/** +\class QxtSqlPackage QxtSqlPackage + +\ingroup QxtSql + +\brief full serialiseable QSqlQuery storage + + +Sometimes you want to set sql results over network or store them into files. QxtSqlPackage can provide you a storage that is still valid after the actual QSqlQuery has been destroyed +for confidence the interface is similiar to QSqlQuery. +*/ + +#ifndef QXTSQLPACKAGE_H +#define QXTSQLPACKAGE_H +#include +#include +#include +#include +#include + +class QXT_SQL_EXPORT QxtSqlPackage : public QObject +{ + Q_OBJECT + +public: + QxtSqlPackage(QObject *parent = 0); + QxtSqlPackage(const QxtSqlPackage & other,QObject *parent = 0); + + ///determinates if the package curently points to a valid row + bool isValid(); + + ///curent pointer position + int at(); + + /** \brief point to next entry + + returns false if there is no next entry.\n + provided for easy porting from QSqlQuery. + + \code + while (query.next()) + { + } + \endcode + */ + bool next(); + + ///point to last entry in storage + bool last(); + + ///point to first entry in storage + bool first(); + + /** \brief return a cloumn in curent row + + in contrast to QSqlQuery you have to provide the name of the key. + + the entry is returned as QString becouse in most cases you need QString anyway, and converting to needed data type is easy. + \code + QString name = query.value("name"); + \endcode + */ + QString value(const QString& key); + + /** \brief read from QSqlQuery + + read out a QSqlQuery and store the result. you may close the query after reading, the data will stay. + + \code + QxSqlPackage::insert(QSqlQuery::exec("select name,foo,bar from table;")); + \endcode + */ + void insert(QSqlQuery query); + + ///Returns the number of rows stored + int count() const; + + ///serialise Data + QByteArray data() const; + + ///deserialise data + void setData(const QByteArray& data); + + ///return a specific row as Hash + QHash hash(int index); + ///return the curent row as Hash + QHash hash(); + QxtSqlPackage& operator= (const QxtSqlPackage& other); + +private: + QList > map; + int record; +}; + + + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.cpp b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.cpp new file mode 100644 index 00000000..b5b212f1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.cpp @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtSql module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#include "qxtsqlpackagemodel.h" + + + +QxtSqlPackageModel::QxtSqlPackageModel (QObject * parent ) : QAbstractTableModel(parent) +{} + + +void QxtSqlPackageModel::setQuery(QxtSqlPackage a) +{ + pack =a; + +} + + +int QxtSqlPackageModel::rowCount ( const QModelIndex & ) const +{ + return pack.count(); +} + + +int QxtSqlPackageModel::columnCount ( const QModelIndex & ) const +{ + QxtSqlPackage p =pack; + return p.hash(0).count(); +} + + +QVariant QxtSqlPackageModel::data ( const QModelIndex & index, int role ) const +{ + if (role != Qt::DisplayRole ) + return QVariant(); + + + + if ((index.row()<0) || (index.column()<0) ) return QVariant(); + QxtSqlPackage p =pack; + + return p.hash(index.row()).values ().at( index.column()); + + +} + + +QVariant QxtSqlPackageModel::headerData ( int section, Qt::Orientation orientation, int role ) const +{ + + if (orientation == Qt::Vertical && role == Qt::DisplayRole) + return section; + + + if (orientation==Qt::Horizontal && role == Qt::DisplayRole) + { + QxtSqlPackage p =pack; + return p.hash(0).keys ().at( section ) ; + } + + return QAbstractItemModel::headerData(section, orientation, role); + +} + diff --git a/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.h b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.h new file mode 100644 index 00000000..3fccb42c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/sql/qxtsqlpackagemodel.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtSql module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +/** +\class QxtSqlPackageModel QxtSqlPackageModel + +\ingroup QxtSql + +\brief provides a read-only data model for QxtSqlPackage result.. +*/ + + + +#ifndef QXTSQLTABLEMODEL_H +#define QXTSQLTABLEMODEL_H +#include +#include +#include +#include + + +class QXT_SQL_EXPORT QxtSqlPackageModel : public QAbstractTableModel +{ +public: +/// \reimp + QxtSqlPackageModel (QObject * parent = 0 ); + + + +/// set the data for the model. do this before any access + void setQuery(QxtSqlPackage a) ; + + +/// \reimp + int rowCount ( const QModelIndex & = QModelIndex()) const ; +/// \reimp + int columnCount ( const QModelIndex & = QModelIndex() ) const ; +/// \reimp + QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const; +/// \reimp + QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; + +private: + + QxtSqlPackage pack; +}; + + +#endif + + + diff --git a/src/contrib/libqxt-2007-10-24/src/sql/sql.pro b/src/contrib/libqxt-2007-10-24/src/sql/sql.pro new file mode 100644 index 00000000..664fb8ff --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/sql/sql.pro @@ -0,0 +1,16 @@ +TARGET = QxtSql +#DESTDIR = .lib +DEPENDPATH += . +INCLUDEPATH += . ../core +DEFINES += BUILD_QXT_SQL +win32: CONFIG += dll +QT = core sql +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +include(../../config.pri) + +HEADERS += qxtsqlpackage.h qxtsqlpackagemodel.h +SOURCES += qxtsqlpackage.cpp qxtsqlpackagemodel.cpp diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtabstractwebconnector.h b/src/contrib/libqxt-2007-10-24/src/web/qxtabstractwebconnector.h new file mode 100644 index 00000000..e0884c8a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtabstractwebconnector.h @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtAbstractWebConnector_header_guards_oaksndoapsid +#define QxtAbstractWebConnector_header_guards_oaksndoapsid + + +#include +#include + +#include "qxtwebcore.h" + + +class QxtAbstractWebConnector : public QObject +{ + Q_OBJECT +public: + virtual int start (quint16 port,const QHostAddress & address)=0; + + + virtual QIODevice * socket()=0; + virtual void sendHeader(server_t &)=0; + + virtual void close()=0; + + virtual QByteArray content(quint64 maxsize)=0; + +signals: + void incomming(server_t ); + void aboutToClose(); +}; + + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.cpp b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.cpp new file mode 100644 index 00000000..51a8180c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.cpp @@ -0,0 +1,189 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtfcgiconnector.h" +#include "qxtfcgiconnector_p.h" +#include +#include +#include +#include "qxtstdstreambufdevice.h" +#include "qxtsignalwaiter.h" + + +QxtFcgiConnector::QxtFcgiConnector():QxtAbstractWebConnector() +{ + qRegisterMetaType("server_t"); + qRegisterMetaTypeStreamOperators("server_t"); + QXT_INIT_PRIVATE(QxtFcgiConnector); +} + +int QxtFcgiConnector::start (quint16 ,const QHostAddress & ) +{ + qxt_d().start(); + return QxtSignalWaiter::wait(&qxt_d(),SIGNAL(started()),20000); + +} + +QIODevice * QxtFcgiConnector::socket() +{ + return qxt_d().io; +} + + +QByteArray QxtFcgiConnector::content(quint64 maxsize) +{ + char * clenstr = FCGX_GetParam("CONTENT_LENGTH", qxt_d().request.envp); + quint64 clen = maxsize; + QByteArray content; + if (clenstr) + { + clen = strtol(clenstr, &clenstr, 10); + if (*clenstr) + { + qDebug()<< "can't parse \"CONTENT_LENGTH=" + << FCGX_GetParam("CONTENT_LENGTH", qxt_d().request.envp) + << "\"\n"; + clen = maxsize; + } + + // *always* put a cap on the amount of data that will be read + if (clen > maxsize) clen = maxsize; + + + + content.resize(clen+200); + std::cin.read(content.data(), clen+200); + + clen = std::cin.gcount(); + } + else + { + // *never* read stdin when CONTENT_LENGTH is missing or unparsable + clen = 0; + } + + // Chew up any remaining stdin - this shouldn't be necessary + // but is because mod_fastcgi doesn't handle it correctly. + + // ignore() doesn't set the eof bit in some versions of glibc++ + // so use gcount() instead of eof()... + do std::cin.ignore(1024); while (std::cin.gcount() == 1024); + + return content; + +} + + +void QxtFcgiConnector::sendHeader(server_t & answer) +{ + if (!answer.contains("Status")) + answer["Status"]="200 OK"; + if (!answer.contains("Content-Type")) + answer["Content-Type"]="text/html; charset=utf-8"; + + server_t::const_iterator i = answer.constBegin(); + while (i != answer.constEnd()) + { + qxt_d().io->write(i.key()+": "+i.value()+"\r\n"); + ++i; + } + qxt_d().io->write("\r\n"); +} + +void QxtFcgiConnector::close() +{ + emit(aboutToClose()); + qxt_d().open=false; + emit(qxt_d().close_ss()); +} + + +/* ********** IMPL ***********/ + + +QxtFcgiConnectorPrivate::QxtFcgiConnectorPrivate() +{ + open=false; + io=0; + qRegisterMetaType("server_t"); + qRegisterMetaTypeStreamOperators("server_t"); +} + +void QxtFcgiConnectorPrivate::run() +{ + qRegisterMetaType("server_t"); + qRegisterMetaTypeStreamOperators("server_t"); + + + FCGX_Init(); + FCGX_InitRequest(&request, 0, 0); + + ///FIXME: i just need a damn fd to use select() on. arrg + while (FCGX_Accept_r(&request) == 0) + { + open=true; + fcgi_streambuf fio_in(request.in); + fcgi_streambuf fio_out(request.out); + fcgi_streambuf fio_err(request.err); + + +#if HAVE_IOSTREAM_WITHASSIGN_STREAMBUF + std::cin = &fio_in; + std::cout = &fio_out; + std::cerr = &fio_err; +#else + std::cin.rdbuf(&fio_in); + std::cout.rdbuf(&fio_out); + std::cerr.rdbuf(&fio_err); +#endif + + io= new QxtStdStreambufDevice (&fio_in,&fio_out); + + server_t SERVER; + const char * const * envp=request.envp; + for ( ; *envp; ++envp) + { + QByteArray ee(*envp); + SERVER[ee.left(ee.indexOf('='))]=ee.mid(ee.indexOf('=')+1); + } + emit(qxt_p().incomming(SERVER)); + /// heck this is a frikin waste of RAM, cpu and my nerves. + /// I hope those arrogants retards burn in hell for it. + if (open) + QxtSignalWaiter::wait(this,SIGNAL(close_ss())); + open=false; + delete(io); + io=0; + + } +} + + + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.h b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.h new file mode 100644 index 00000000..a7e37e9d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector.h @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtFcgiConnector_header_guards_oaksndoapsid +#define QxtFcgiConnector_header_guards_oaksndoapsid + + +#include +#include +#include +#include "qxtabstractwebconnector.h" + +class QxtFcgiConnectorPrivate; +class QxtFcgiConnector : public QxtAbstractWebConnector +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtFcgiConnector); + +public: + QxtFcgiConnector(); + virtual int start (quint16 ,const QHostAddress &); + + virtual QIODevice * socket(); + virtual void sendHeader(server_t &); + + virtual void close(); + + virtual QByteArray content(quint64 maxsize); +}; + + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector_p.h b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector_p.h new file mode 100644 index 00000000..a96accc1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtfcgiconnector_p.h @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtfcgiconnector.h" +#include +#include + + +#include +#ifdef _WIN32 +#include +#else +#include +extern char ** environ; +#endif +#include "fcgio.h" +#include "fcgi_config.h" +#include +#include +#include "qxtstdstreambufdevice.h" + +Q_DECLARE_METATYPE(FCGX_Request) + +// Maximum number of bytes allowed to be read from stdin +static const unsigned long STDIN_MAX = 1000000; + + +class QxtFcgiConnectorPrivate : public QThread,public QxtPrivate +{ + QXT_DECLARE_PUBLIC(QxtFcgiConnector); + Q_OBJECT +public: + QxtFcgiConnectorPrivate(); + void run(); + + QxtStdStreambufDevice * io; + + bool open; + + + FCGX_Request request; + +signals: + void close_ss(); + + + +}; + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxthtmltemplate.cpp b/src/contrib/libqxt-2007-10-24/src/web/qxthtmltemplate.cpp new file mode 100644 index 00000000..1987b205 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxthtmltemplate.cpp @@ -0,0 +1,147 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +/*! + \class QxtHtmlTemplate QxtHtmlTemplate + \ingroup QxtWeb + \brief Basic Html Template Engine + + open a file containing html code and php style variables. + use the square bracket operators to assign content for a variable + + \code + QxtHtmlTemplate index; + if(!index.open) + return 404; + index["content"]="hello world"; + echo()< + + Test Page + + + + \endcode + + funny storry: whe are using this class to make our documentation (eat your own dogfood, you know ;). + but when we where parsing exactly this file you read right now the first time, QxtHtmlTemplate got stuck in an infinite loop. guess why. becouse of that example above :D + So be warned: when you assign content to a variable that contains the variable name itself, render() will never return. + + +*/ + +/*! + \fn QxtHtmlTemplate::open(const QString& filename) + Returns true on sucess and false on failure. + note that it will also return false for an empty html file. + + \fn QString QxtHtmlTemplate::render() const + Uses the variables you set and renders the opened file. + returns an empty string on failure. + Does NOT take care of not assigned variables, they will remain in the returned string + */ + +#include "qxthtmltemplate.h" +#include +#include + +QxtHtmlTemplate::QxtHtmlTemplate() : QMap() +{} + +void QxtHtmlTemplate::load(const QString& d) +{ + data=d; +} + +bool QxtHtmlTemplate::open(const QString& filename) +{ + QFile f(filename); + f.open(QIODevice::ReadOnly); + data = QString::fromLocal8Bit(f.readAll()); + f.close(); + if (data.isEmpty()) + { + qWarning("QxtHtmlTemplate::open(\"%s\") empty or non existant",qPrintable(filename)); + return false; + } + return true; +} + +QString QxtHtmlTemplate::render() const +{ + ///try to preserve indention by parsing char by char and saving the last non-space character + + + QString output = data; + int lastnewline=0; + + + for (int i=0;i') + { + j=jj; + break; + } + var+=output.at(jj); + } + + + if (j==i) + { + qWarning("QxtHtmlTemplate::render() unterminated +** +****************************************************************************/ + +#ifndef QXTHTMLTEMPLATE_H +#define QXTHTMLTEMPLATE_H + +#include +#include +#include +#include + +class QXT_WEB_EXPORT QxtHtmlTemplate : public QMap +{ +public: + QxtHtmlTemplate(); + bool open(const QString& filename); + void load(const QString& data); + + QString render() const; + +private: + QString data; +}; + +#endif + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.cpp b/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.cpp new file mode 100644 index 00000000..72abdd4b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.cpp @@ -0,0 +1,232 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtscgiconnector.h" +#include +#include +#include +#include +#include + +class QxtScgiConnectorPrivate : public QTcpServer,public QxtPrivate +{ + QXT_DECLARE_PUBLIC(QxtScgiConnector); + +protected: + + void incomingConnection ( int socketDescriptor ) + { + qDebug("%i, -> incomming",(int)time(NULL)); + QTcpSocket * tcpSocket = new QTcpSocket; + if (!tcpSocket->setSocketDescriptor(socketDescriptor)) + { + delete tcpSocket; + socket_m=0; + return; + } + socket_m=tcpSocket; + connect(tcpSocket,SIGNAL(disconnected()),tcpSocket,SLOT(deleteLater())); ///TODO:right. and what id the client disconnects earlier? + SERVER.clear(); + int eee1=readHeaderFromSocket(tcpSocket,SERVER); + if (eee1) + { + tcpSocket->write("Status: 500 INTERNAL SERVER ERROR\r\ncontent-type: text/html\r\n\r\nHEADER NOT READABLE"); + } + + emit(qxt_p().incomming(SERVER)); + } + + QTcpSocket * socket_m; + server_t SERVER; + + + int readHeaderFromSocket(QTcpSocket * tcpSocket,server_t & SERVER) + { + if (!tcpSocket) + return 5012; + + + ///--------------get the header size---------------- + + QByteArray size_in; + while (!size_in.endsWith(':')) + { + if (!tcpSocket->bytesAvailable ()) + if (!tcpSocket->waitForReadyRead (200)) + return 50033; + + char a[4]; ///4? yes, i know i'm paranoid about bounds. + + + if (!tcpSocket->read (a, 1 )) + return 50034; + + size_in+=a[0]; + + if (size_in.size()>20)/// after the 20ths char is an attack atemp for sure + return 50034; + + } + + + size_in.chop(1); + int size=size_in.toInt()+1; + + + if (size>10240) ///do not accept headers over 10kb + return 50037; + + + ///--------------read the header------------------ + + while (tcpSocket->bytesAvailable ()waitForReadyRead (200)) + return 50033; + } + QByteArray header_in; + header_in.resize(size); + + if (tcpSocket->read (header_in.data(), size )!=size) + return 50034; + + if (!header_in.endsWith(',')) + return 50090; + ///--------------parse the header------------------ + + + int i=0; + QByteArray name=""; + QByteArray a =header_in; + while ((i=a.indexOf('\0'))>-1) + { + if (name=="") + { + name= a.left(i).replace('\0',""); + } + else + { + SERVER[name]=a.left(i).replace('\0',"").replace("%20"," "); + name=""; + } + + a=a.mid(i+1); + } + + + return 0; + } + + + + + + +}; + +QxtScgiConnector::QxtScgiConnector():QxtAbstractWebConnector() +{ + QXT_INIT_PRIVATE(QxtScgiConnector); + qxt_d().socket_m=0; +} + +int QxtScgiConnector::start (quint16 port,const QHostAddress & address) +{ + return qxt_d().listen(address,port); +} + +QIODevice * QxtScgiConnector::socket() +{ + return qxt_d().socket_m; +} +void QxtScgiConnector::sendHeader(server_t & answer) +{ + if (!answer.contains("Status")) + answer["Status"]="200 OK"; + if (!answer.contains("Content-Type")) + answer["Content-Type"]="text/html; charset=utf-8"; + + server_t::const_iterator i = answer.constBegin(); + while (i != answer.constEnd()) + { + qxt_d().socket_m->write(i.key()+": "+i.value()+"\r\n"); + ++i; + } + qxt_d().socket_m->write("\r\n"); +} + +void QxtScgiConnector::close() +{ + emit(aboutToClose()); + qxt_d().socket_m->close(); +} + + +QByteArray QxtScgiConnector::content(quint64 maxsize) +{ + QIODevice * tcpSocket= qxt_d().socket_m; + + if (!tcpSocket) + return QByteArray(); + + + unsigned int content_size= qxt_d().SERVER["CONTENT_LENGTH"].toUInt(); + + qDebug()<<"receiving content"<maxsize) + content_size=maxsize; + + ///--------------read the content------------------ + + + + + + while (tcpSocket->bytesAvailable ()waitForReadyRead (2000)) + return QByteArray(); + } + + QByteArray content_in; + content_in.resize(content_size); + + + if (tcpSocket->read (content_in.data(), content_size )!=content_size) + return QByteArray(); + + + tcpSocket->readAll(); //fix apache fcgi bug + return content_in; +} + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.h b/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.h new file mode 100644 index 00000000..01653308 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtscgiconnector.h @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtScgiConnector_header_guards_oaksndoapsid +#define QxtScgiConnector_header_guards_oaksndoapsid + + +#include +#include +#include +#include "qxtabstractwebconnector.h" + +class QxtScgiConnectorPrivate; +class QxtScgiConnector : public QxtAbstractWebConnector +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtScgiConnector); + +public: + QxtScgiConnector(); + virtual int start (quint16 port,const QHostAddress & address); + + virtual QIODevice * socket(); + virtual void sendHeader(server_t &); + + virtual void close(); + + virtual QByteArray content(quint64 maxsize); +}; + + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.cpp b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.cpp new file mode 100644 index 00000000..dcfb8dd0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.cpp @@ -0,0 +1,193 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtwebcontroller.h" +#include "qxtwebcore.h" +#include +#include +#include +#include +static QTextStream nullstream; + +QString QxtWebController::WebRoot() +{ + + return QCoreApplication::applicationDirPath()+"/../"; +} + + +QxtWebController::QxtWebController(QString name):QObject(QCoreApplication::instance()) +{ + stream_m=0; + setObjectName(name); +} + + +QTextStream & QxtWebController::echo() +{ + if (!stream_m) + { + qDebug("QxtWebController::echo() no stream open"); + return nullstream; + } + return *stream_m; +} + + +QString QxtWebController::self() +{ + return "/"+objectName(); +} + + +int QxtWebController::invoke(server_t & SERVER_i) +{ + SERVER=SERVER_i; + QList args_d = SERVER["REQUEST_URI"].split('/'); + + ///--------------find action ------------------ + QByteArray action="index"; + if (args_d.count()>2) + { + action=args_d.at(2); + if (action.trimmed().isEmpty())action="index"; + } + else if (args_d.count()>1) + action="index"; + + + if (args_d.count()>3) + { + args_d.removeFirst(); + args_d.removeFirst(); + args_d.removeFirst(); + } + else + args_d.clear(); + + QStringList args; + foreach(QByteArray arg,args_d) + args<8) + { + if (!QMetaObject::invokeMethod(this, action,Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + ,Q_ARG(QString, args.at(4)),Q_ARG(QString, args.at(5)),Q_ARG(QString, args.at(6)),Q_ARG(QString, args.at(8)))) + { + retVal=4042; ///FIXME: the return value of the invoke has a meaning, handle it! + } + } + else if (args.count()>7) + { + if (!QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + ,Q_ARG(QString, args.at(4)),Q_ARG(QString, args.at(5)),Q_ARG(QString, args.at(6)),Q_ARG(QString, args.at(7)) + )) + { + retVal=4042; + } + + } + else if (args.count()>6) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + ,Q_ARG(QString, args.at(4)),Q_ARG(QString, args.at(5)),Q_ARG(QString, args.at(6)) + )) + { + retVal=4042; + } + } + else if (args.count()>5) + { + if (!QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + ,Q_ARG(QString, args.at(4)),Q_ARG(QString, args.at(5)) + )) + { + retVal=4042; + } + } + else if ( args.count()>4) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + ,Q_ARG(QString, args.at(4)) + )) + { + retVal=4042; + } + } + else if (args.count()>3) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)),Q_ARG(QString, args.at(3)) + )) + { + retVal=4042; + } + } + else if (args.count()>2) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)),Q_ARG(QString, args.at(2)) + )) + retVal=4042; + } + else if (args.count()>1) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) , + Q_ARG(QString, args.at(0)),Q_ARG(QString, args.at(1)) + )) + retVal=4042; + } + else if (args.count()>0) + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) ,Q_ARG(QString, args.at(0)))) + retVal=4042; + } + else + { + if ( !QMetaObject::invokeMethod(this, (action),Q_RETURN_ARG(int, retVal) )) + { + retVal=4042; + } + } + + stream_m->flush (); + stream_m=0; + if(buffer.size()) + QxtWebCore::send(buffer); + return retVal; +}; + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.h b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.h new file mode 100644 index 00000000..5c255c6d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcontroller.h @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtWebController_H_sapoidnasoas +#define QxtWebController_H_sapoidnasoas + +#include +#include +#include +#include "qxtwebcore.h" + +class QxtWebController : public QObject +{ + Q_OBJECT +public: + QxtWebController(QString name); + int invoke(server_t &); + static QString WebRoot(); +public slots: + int index() + { + echo()<<"overwrite the index function of this controller("+objectName()+")"; + return 404; + } + +protected: + QTextStream & echo(); + QString self(); + server_t SERVER; +private: + QTextStream *stream_m; +}; + +#endif + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.cpp b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.cpp new file mode 100644 index 00000000..a83feb48 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.cpp @@ -0,0 +1,304 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtwebcore.h" +#include "qxtabstractwebconnector.h" +#include "qxtwebcore_p.h" + +#include +#include +#include "qxtwebcontroller.h" +#include +#include +#include +#include +#include +#include + +/*! + \class QxtWebCore QxtWebCore + \ingroup QxtWeb + \brief qxtweb application core class. communicates, delegates, does all of the magic ;) + + + QxtWebCore is the base class of your web application. + it listens to the scgi protocoll + + construct one webcore object in the main function of your application. + you must contruct it AFTER QCoreApplication and BEFORe any controllers. + + \code + int main(int argc,char ** argv) + { + QCoreApplication app(argc,argv); + QxtWebCore core(); + core.listen(8080); + QxtWebController controller("root"); + app.exec(); + } + \endcode +*/ + +/*! + \fn static QxtWebCore* instance(); + singleton accessor + \fn static void send(QByteArray); + Send data to the client. Use this rarely, but use it always when sending binary data such as images. \n + normal text/html comunication should be done using the controllers echo() function \n + note that after you called send the first time you cannot modify the header anymore \n + sending may be ignored by the transport when there is no client currently handled + \fn static QIODevice * socket(); + direct access to a iodevice for writing binary data. \n + You shouldn't use that unless it's absolutly nessesary + \fn static QxtError parseString(QByteArray str, post_t & POST); + much like phps parse_string \n + \fn static QByteArray readContent(int maxsize=5000); + reads the content from the current socket if any has sent. \n + returns an empty QByteArray on any error. \n + the content is cut at maxsize and not read from the socket. \n + FIXME:\warning: this function is BLOCKING. while content is read from the client, no other requests can be handled. + FIXME:\warning: due to paranoid timeouts this might not work for slow clients + */ + + +static QxtWebCore * singleton_m=0; + +//-----------------------interface---------------------------- +QxtWebCore::QxtWebCore(QxtAbstractWebConnector * pt):QObject() +{ + if (singleton_m) + qFatal("you're trying to construct QxtWebCore twice!"); + qRegisterMetaType("server_t"); + qRegisterMetaTypeStreamOperators("server_t"); + + singleton_m=this; + QXT_INIT_PRIVATE(QxtWebCore); + qxt_d().connector=pt; + connect(pt,SIGNAL(aboutToClose()),this,SIGNAL(aboutToClose())); + connect(pt,SIGNAL(incomming(server_t)),&qxt_d(),SLOT(incomming(server_t))); +} + +QxtWebCore::~QxtWebCore() +{ + singleton_m=0; +} + + +void QxtWebCore::send(QString a) +{ + instance()->qxt_d().send(a); +} +void QxtWebCore::header(QString a,QString b) +{ + instance()->qxt_d().header(a,b); +} + +server_t & QxtWebCore::SERVER() +{ + return instance()->qxt_d().currentservert; +} + +QIODevice * QxtWebCore::socket() +{ + return instance()->qxt_d().connector->socket(); +} + +int QxtWebCore::start (quint16 port ,const QHostAddress & address ) +{ + return instance()->qxt_d().connector->start(port,address); +} + +void QxtWebCore::redirect(QString location,int code) +{ + instance()->qxt_d().redirect(location,code); +} + +QxtWebCore * QxtWebCore::instance() +{ + if (!singleton_m) + qFatal("no QxtWebCore constructed"); + return singleton_m; +} +void QxtWebCore::setCodec ( QTextCodec * codec ) +{ + instance()->qxt_d().decoder=codec->makeDecoder(); + instance()->qxt_d().encoder=codec->makeEncoder(); +} + +void QxtWebCore::close() +{ + instance()->qxt_d().close(); +} +void QxtWebCore::sendHeader() +{ + instance()->qxt_d().sendheader(); + +} + +//-----------------------implementation---------------------------- + + + + +QxtWebCorePrivate::QxtWebCorePrivate(QObject *parent):QObject(parent),QxtPrivate() +{ + connector=0; + decoder=0; + encoder=0; +} + +void QxtWebCorePrivate::send(QString str) +{ + sendheader(); + + if (encoder) + connector->socket()->write(encoder->fromUnicode (str)); + else + connector->socket()->write(str.toUtf8()); + +} +void QxtWebCorePrivate::close() +{ + sendheader(); + connector->close(); +} + +void QxtWebCorePrivate::sendheader() +{ + if (!header_sent) + { + header_sent=true; + connector->sendHeader(answer); + } +} +void QxtWebCorePrivate::header(QString k,QString v) +{ + if (header_sent) + qWarning("headers already sent"); + if (encoder) + answer[encoder->fromUnicode (k)]=encoder->fromUnicode (v); + else + answer[k.toUtf8()]=v.toUtf8(); + +} +void QxtWebCorePrivate::redirect(QString l,int code) +{ + QByteArray loc =QUrl(l).toEncoded (); + + if (loc.isEmpty()) + loc="/"; + QxtWebCore::header("Status",QString::number(code).toUtf8()); + QxtWebCore::header("Location",loc); + send(QString("
    "+loc+"")); +} + + + + + + +void QxtWebCorePrivate::incomming(server_t SERVER) +{ + header_sent=false; + answer.clear(); + qDebug("%i, %s -> %s",(int)time(NULL),SERVER["HTTP_HOST"].constData(),SERVER["REQUEST_URI"].constData()); + + + currentservert=SERVER; + + emit(qxt_p().request()); + + ///--------------find controller ------------------ + QByteArray path="404"; + QList requestsplit = SERVER["REQUEST_URI"].split('/'); + if (requestsplit.count()>1) + { + path=requestsplit.at(1); + if (path.trimmed().isEmpty())path="root"; + } + else if (requestsplit.count()>0) + path="root"; + + ///--------------controller------------------ + + QxtWebController * controller =qFindChild (QCoreApplication::instance(), path ); + if (!controller) + { + header("Status","404"); + send("

    404 Controller "); + send(path); + send(" not found

    "); + close(); + qDebug("404 controller '%s' not found",path.constData()); + return; + } + + int i=controller->invoke(SERVER); + if (i!=0 && i!=2) + { + header("Status","404"); + send("

    "); + send(QString::number(i)); + send("

    Sorry,, that didn't work as expected. You might want to contact this systems administrator."); + } + if (i!=2) ///FIXME temporary solution for keepalive + close(); +} + + + + + + + + + + + + + +//-----------------------helper---------------------------- + +QByteArray QxtWebCore::content(int maxsize) +{ + return instance()->qxt_d().connector->content(maxsize); +} + + +QxtError QxtWebCore::parseString(QByteArray content_in, post_t & POST) +{ + QList posts = content_in.split('&'); + QByteArray post; + foreach(post,posts) + { + QList b =post.split('='); + if (b.count()!=2)continue; + POST[QUrl::fromPercentEncoding ( b[0].replace("+","%20"))]=QUrl::fromPercentEncoding ( b[1].replace("+","%20") ); + } + QXT_DROP_OK +} + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.h b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.h new file mode 100644 index 00000000..28c903f5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtWebCore_HEADER_GIAURX_H +#define QxtWebCore_HEADER_GIAURX_H + +#include +#include +#include + +#include +#include + +#include +#include + +typedef QMap server_t; +typedef QMap post_t; + + +Q_DECLARE_METATYPE(server_t) +class QIODevice; +class QxtAbstractWebConnector; +class QTextCodec; +class QxtWebCorePrivate; +class QXT_WEB_EXPORT QxtWebCore: public QObject +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtWebCore); +public: + QxtWebCore (QxtAbstractWebConnector *); + ~QxtWebCore (); + + int start (quint16 port = 8000,const QHostAddress & address = QHostAddress::LocalHost); + + static void setCodec ( QTextCodec * codec ); + + static void send(QString); + static void close(); + static void header(QString,QString); + static void sendHeader(); + + static server_t & SERVER(); + static QIODevice * socket(); + + static void redirect(QString location,int code=303); + + + + + static QxtWebCore * instance(); + + /*helper*/ + static QxtError parseString(QByteArray str, post_t & POST); + static QByteArray content(int maxsize=5000); + +signals: + void request(); + void aboutToClose(); +}; + + + +#endif + + diff --git a/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore_p.h b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore_p.h new file mode 100644 index 00000000..e5937969 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/qxtwebcore_p.h @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtWeb module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtwebcore.h" +#include +#include +#include +#include + +class QxtScgiController; +class QxtWebCorePrivate : public QObject,public QxtPrivate +{ + Q_OBJECT + QXT_DECLARE_PUBLIC(QxtWebCore); + +public: + QxtWebCorePrivate(QObject *parent = 0); + void send(QString); + void sendheader(); + void header(QString,QString); + void redirect(QString,int ); + void close(); + + + QxtAbstractWebConnector * connector; + server_t currentservert; + bool header_sent; + server_t answer; + QTextDecoder *decoder; + QTextEncoder *encoder; +public slots: + void incomming(server_t SERVER); + +}; diff --git a/src/contrib/libqxt-2007-10-24/src/web/web.pro b/src/contrib/libqxt-2007-10-24/src/web/web.pro new file mode 100644 index 00000000..bed296f9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/web/web.pro @@ -0,0 +1,28 @@ +TARGET = QxtWeb +#DESTDIR = ../../deploy/libs +DEPENDPATH += . +INCLUDEPATH += . ../core ../network +DEFINES += BUILD_QXT_WEB +win32: CONFIG += dll +QT = core network +QXT = core network +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +include(../../config.pri) + + +HEADERS+= qxthtmltemplate.h qxtwebcore.h qxtwebcontroller.h qxtwebcore_p.h qxtabstractwebconnector.h qxtscgiconnector.h +SOURCES+= qxthtmltemplate.cpp qxtwebcore.cpp qxtwebcontroller.cpp qxtscgiconnector.cpp + + + + +contains(DEFINES,HAVE_FCGI){ +HEADERS += qxtfcgiconnector.h qxtfcgiconnector_p.h +SOURCES += qxtfcgiconnector.cpp +LIBS+=-lfcgi++ +} + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtCurses/QxtCursesTest.pro b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/QxtCursesTest.pro new file mode 100644 index 00000000..62ff63be --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/QxtCursesTest.pro @@ -0,0 +1,15 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Tue Feb 13 23:13:40 2007 +###################################################################### + +TEMPLATE = app +DESTDIR = . +INCLUDEPATH = ../../src/curses/ +LIBS += -L../../deploy/libs -lQxtCurses -lQxtCore -lQxtKit +TARGET = QxtCursesTest + +# Input +SOURCES += cursestest.cpp +HEADERS += cursestest.h +CONFIG += qxt +QXT += curses core kit diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.cpp new file mode 100644 index 00000000..cf269b55 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** 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 any later version. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** There is aditional information in the LICENSE file of libqxt. +** If you did not receive a copy of the file try to download it or +** contact the libqxt Management +** +** +** +****************************************************************************/ +#include +#include +#include +#include "cursestest.h" + +QxtCFrame *_f, *_g, *_h; + +void Test::moveWindows() { + static int step = 0; + if(step<2) + _f->move(_f->x()+1, _f->y()); + else if(step<4) + _g->move(_g->x()+1, _g->y()); + else if(step<6) + _h->resize(_h->width()+1, _h->height()); + else if(step<8) + _f->move(_f->x(), _f->y()+1); + else if(step<10) + _g->move(_g->x(), _g->y()+1); + else if(step<12) + _h->resize(_h->width(), _h->height()+1); + else if(step<14) + _f->move(_f->x()-1, _f->y()); + else if(step<16) + _g->move(_g->x()-1, _g->y()); + else if(step<18) + _h->resize(_h->width()-1, _h->height()); + else if(step<20) + _f->move(_f->x(), _f->y()-1); + else if(step<22) + _g->move(_g->x(), _g->y()-1); + else + _h->resize(_h->width(), _h->height()-1); + + step = (step+1)%24; +} + +int main(int argc, char** argv) { + QxtCursesApplication app(argc, argv); + QxtCFrame f; + f.move(20,10); + f.resize(60,60); + QxtCFrame* g = new QxtCFrame(&f); + QxtCFrame* h = new QxtCFrame(g); + g->move(10,10); + g->resize(60,20); + h->move(5,5); + h->resize(5,5); + f.update(); + g->update(); + h->update(); + _f = &f; + _g = g; + _h = h; + QTimer t; + Test test; + QObject::connect(&t, SIGNAL(timeout()), &test, SLOT(moveWindows())); + t.start(100); + app.exec(); +} diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.h b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.h new file mode 100644 index 00000000..e81b3e24 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtCurses/cursestest.h @@ -0,0 +1,28 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** 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 any later version. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** There is aditional information in the LICENSE file of libqxt. +** If you did not receive a copy of the file try to download it or +** contact the libqxt Management +** +** +** +****************************************************************************/ +#include + +class Test : public QObject { +Q_OBJECT +public slots: + void moveWindows(); +}; diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/qxtfilelock.pro b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/qxtfilelock.pro new file mode 100644 index 00000000..3f6c3138 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/qxtfilelock.pro @@ -0,0 +1,5 @@ +SUBDIRS += src +TEMPLATE = subdirs +CONFIG += warn_on \ + qt \ + thread diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.cpp new file mode 100644 index 00000000..b1df0a4d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.cpp @@ -0,0 +1,22 @@ +#include "HelperClass.h" +#include "locktestclient.h" + +HelperClass::HelperClass(QObject *parent) + : QThread(parent) +{ +} + + +HelperClass::~HelperClass() +{ +} + +void HelperClass::run() +{ + QObject threadParent; + LockTestClient *client = new LockTestClient(&threadParent); + client->startTests(); + exec(); +} + + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.h b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.h new file mode 100644 index 00000000..8e99331c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/HelperClass.h @@ -0,0 +1,19 @@ +#ifndef HELPERCLASS_H +#define HELPERCLASS_H + +#include + +/** + @author Benjamin Zeller +*/ +class HelperClass : public QThread +{ +Q_OBJECT +public: + HelperClass(QObject *parent = 0); + ~HelperClass(); + void run(); + +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.cpp new file mode 100644 index 00000000..bc2f800f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.cpp @@ -0,0 +1,104 @@ +#include "locktestclient.h" +#include +#include +#include +#include +#include + +LockTestClient::LockTestClient(QObject *parent) + : QObject(parent) +{ +} + + +LockTestClient::~LockTestClient() +{ +} + +void LockTestClient::startTests() +{ + QTcpSocket socket; + socket.connectToHost ( "localhost", 55555); + char control; + + #define GetNextCommand() if(socket.waitForReadyRead (-1) )\ + {\ + if(socket.bytesAvailable() > 1)\ + qDebug()<<"Something is wrong here";\ + socket.getChar(&control);\ + if(control == 'a')\ + {\ + socket.disconnectFromHost();\ + return;\ + }\ + if(control != 'n')\ + { \ + qDebug()<<"Wrong control command";\ + }\ + } + + if(socket.waitForConnected (-1)) + { + QFile file("lock.file"); + + if(!file.open(QIODevice::ReadWrite)) + { + qDebug()<<"Could not open lockfile"; + return; + } + + if(1) + { + GetNextCommand(); + //Trying to readlock the same region + QxtFileLock lock(&file,0x10,20,QxtFileLock::ReadLock); + if(lock.lock()) + socket.putChar('s'); //s for success f for fail + else + socket.putChar('f'); + socket.waitForBytesWritten(-1); + } + + if(1) + { + GetNextCommand(); + //Trying to lock the same region with different locks + QxtFileLock lock(&file,0x10,20,QxtFileLock::WriteLock); + + if(!lock.lock()) + socket.putChar('s'); //s for success f for fail + else + socket.putChar('f'); + socket.waitForBytesWritten(-1); + } + + if(1) + { + GetNextCommand(); + //Trying to writelock the same region + QxtFileLock lock(&file,0x10,20,QxtFileLock::WriteLock); + + if(!lock.lock()) + socket.putChar('s'); //s for success f for fail + else + socket.putChar('f'); + socket.waitForBytesWritten(-1); + } + + if(1) + { + GetNextCommand(); + //Trying to writelock different regions + QxtFileLock lock(&file,0x10+21,20,QxtFileLock::WriteLock); + + if(lock.lock()) + socket.putChar('s'); //s for success f for fail + else + socket.putChar('f'); + socket.waitForBytesWritten(-1); + } + + } +} + + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.h b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.h new file mode 100644 index 00000000..5bb0f6f9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/locktestclient.h @@ -0,0 +1,27 @@ +#ifndef LOCKTESTCLIENT_H +#define LOCKTESTCLIENT_H + +#include + +/** + @author Benjamin Zeller +*/ + +class QTcpSocket; + +class LockTestClient : public QObject +{ + Q_OBJECT + public: + LockTestClient(QObject *parent = 0); + ~LockTestClient(); + + public slots: + void startTests(); + + private: + QTcpSocket *socket; + +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/main.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/main.cpp new file mode 100644 index 00000000..590f7aa4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/main.cpp @@ -0,0 +1,151 @@ + + +#include +#include +#include +#include + +#include + + +#include "threadtestcontroller.h" +#include "HelperClass.h" + + +/* +Needed Test: +1. one thread test + - open the same file twice + - lock fileregion with readlock (handle 1) + - try to lock the same region with a read lock -> should work + - try to lock the same region with a write lock -> should fail + - remove all locks + - create a writelock on handle 1 + - create a writelock on handle 2 ->>fail + - try to lock totally different regions --> should work + +2. multiple threadstest: + - spawn two threads + - open the same file twice + - let thread 1 lock (READLOCK) a region of a file + - let thread 2 do the same lock ---> should work + - let thread 1 upgrade its lock to a WRITELOCK -->should fail (because thread 2 holds the readlock) + - remove all locks + - try to lock totally different regions of the file -> should work +*/ + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + + if(1) + { + QFile file1("lock.file"); + QFile file2("lock.file"); + + if(file1.open(QIODevice::ReadWrite) && file2.open(QIODevice::ReadWrite)) + { + + if(1) + { + qDebug()<<"----Starting first test----"; + qDebug()<<"Trying to create some locks without collison"; + + QxtFileLock lock1(&file1,0x10,20,QxtFileLock::WriteLock); + if(lock1.lock()) + qDebug()<<"---- Write Lock Test passed----"; + else + qDebug()<<"---- Write Lock Test failed----"; + + lock1.unlock(); + + QxtFileLock lock2(&file2,0x10,20,QxtFileLock::ReadLock); + if(lock2.lock()) + qDebug()<<"---- Read Lock Test passed----"; + else + qDebug()<<"---- Read Lock Test failed----"; + + lock2.unlock(); + + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to readlock the same region with DIFFERENT handles "; + QxtFileLock *lock1 = new QxtFileLock(&file1,0x10,20,QxtFileLock::ReadLock); + QxtFileLock *lock2 = new QxtFileLock(&file2,0x10,20,QxtFileLock::ReadLock); + + if(lock1->lock() && lock2->lock()) + qDebug()<<"----Test passed----"; + else + qDebug()<<"----Test failed----"; + + delete lock1; + delete lock2; + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to lock the same region with DIFFERENT handles and different locks"; + QxtFileLock *lock1 = new QxtFileLock(&file1,0x10,20,QxtFileLock::ReadLock); + QxtFileLock *lock2 = new QxtFileLock(&file2,0x10,20,QxtFileLock::WriteLock); + + if(lock1->lock() && !lock2->lock()) + qDebug()<<"----Test passed----"; + else + qDebug()<<"----Test failed----"; + + delete lock1; + delete lock2; + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to writelock the same region with DIFFERENT handles"; + QxtFileLock *lock1 = new QxtFileLock(&file1,0x10,20,QxtFileLock::WriteLock); + QxtFileLock *lock2 = new QxtFileLock(&file2,0x10,20,QxtFileLock::WriteLock); + + if(lock1->lock() && !lock2->lock()) + qDebug()<<"----Test passed----"; + else + qDebug()<<"----Test failed----"; + + delete lock1; + delete lock2; + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to writelock the different regions with DIFFERENT handles"; + QxtFileLock *lock1 = new QxtFileLock(&file1,0x10,20,QxtFileLock::WriteLock); + QxtFileLock *lock2 = new QxtFileLock(&file2,0x10+21,20,QxtFileLock::WriteLock); + + if(lock1->lock() && lock2->lock()) + qDebug()<<"----Test passed----"; + else + qDebug()<<"----Test failed----"; + + delete lock1; + delete lock2; + } + } + } + + qDebug()<<"All base tests are finished, now starting the threaded tests"; + + ThreadTestController controller; + + if(controller.startTests()) + { + HelperClass *testClient = new HelperClass(); + testClient->start(); + return app.exec(); + } + + return 0; +} + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/src.pro b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/src.pro new file mode 100644 index 00000000..98e7d88a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/src.pro @@ -0,0 +1,20 @@ +SOURCES += main.cpp \ +threadtestcontroller.cpp \ +locktestclient.cpp \ +HelperClass.cpp +TEMPLATE = app +CONFIG += warn_on \ + thread \ + qt \ + debug +TARGET = ../bin/qxtfilelock + +QT -= gui +QT += core \ +network +CONFIG += qxt +CONFIG += console +QXT += core +HEADERS += threadtestcontroller.h \ +locktestclient.h \ +HelperClass.h diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.cpp new file mode 100644 index 00000000..e1c0fd08 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.cpp @@ -0,0 +1,102 @@ +#include "threadtestcontroller.h" +#include +#include +#include + +#include +#include +#include + +ThreadTestController::ThreadTestController(QObject *parent) + : QObject(parent) +{ + server = new QTcpServer(this); + connect(server,SIGNAL(newConnection ()),this,SLOT(doTests())); +} + + +ThreadTestController::~ThreadTestController() +{ +} + +void ThreadTestController::doTests() +{ + QTcpSocket *socket = server->nextPendingConnection(); + QFile file("lock.file"); + + #define DoNextTest() socket->putChar('n');\ + if(socket->waitForReadyRead(-1))\ + {\ + socket->getChar(&testResult);\ + if(testResult == 'f')\ + qDebug()<<"----Test failed----";\ + else if(testResult == 's')\ + qDebug()<<"----Test passed----";\ + else\ + qDebug()<<"----Wrong result value----";\ + }\ + else qDebug()<<"No ready read"; + + if(socket && file.open(QIODevice::ReadWrite)) + { + char testResult = 'f'; + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to readlock the same region "; + QxtFileLock lock(&file,0x10,20,QxtFileLock::ReadLock); + if(lock.lock()) + { + DoNextTest(); + } + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to lock the same region with different locks"; + QxtFileLock lock(&file,0x10,20,QxtFileLock::ReadLock); + if(lock.lock()) + { + DoNextTest(); + } + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to writelock the same region twice"; + QxtFileLock lock(&file,0x10,20,QxtFileLock::WriteLock); + if(lock.lock()) + { + DoNextTest(); + } + } + + if(1) + { + qDebug()<<"----Starting next test-----"; + qDebug()<<"Trying to writelock different regions"; + QxtFileLock lock(&file,0x10,20,QxtFileLock::WriteLock); + if(lock.lock()) + { + DoNextTest(); + } + } + + } + QCoreApplication::instance()->exit(); +} + +bool ThreadTestController::startTests() +{ + if (!server->listen(QHostAddress::Any,55555)) + { + qDebug()<<"Could not start listening Server "<serverError(); + return false; + } + return true; +} + + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.h b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.h new file mode 100644 index 00000000..a2fa7395 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtFileLock/src/threadtestcontroller.h @@ -0,0 +1,39 @@ +#ifndef THREADTESTCONTROLLER_H +#define THREADTESTCONTROLLER_H + +#include + +/** + @author Benjamin Zeller +*/ + + +/** + * the test controller controls the client over a QTcpSocker port 55555 + * there are some controll commands + * n : start next test + * a : abort testing + * from the client there are two possible answers + * s: the test succeeded + * f: the test failed + */ + +class QTcpServer; + +class ThreadTestController : public QObject +{ + Q_OBJECT + public: + ThreadTestController(QObject *parent = 0); + ~ThreadTestController(); + bool startTests(); + + public slots: + void doTests(); + + private: + QTcpServer *server; + +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.pro b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.pro new file mode 100644 index 00000000..125f1e6f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.pro @@ -0,0 +1,11 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG += qxt +QXT += core gui + +FORMS += mainwindow.ui tab.ui +HEADERS += mainwindow.h tab.h +SOURCES += main.cpp mainwindow.cpp tab.cpp +RESOURCES += app.qrc diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.qrc b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.qrc new file mode 100644 index 00000000..466bb4bd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/app.qrc @@ -0,0 +1,7 @@ + + + images/calendar.png + images/tree.png + images/list.png + + diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/images/calendar.png b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/images/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..97259598888f054f0c54e06b36bd51b3c227ecd4 GIT binary patch literal 4427 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 +#include "mainwindow.h" + +int main(int argc, char* argv[]) +{ + QxtApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.cpp new file mode 100644 index 00000000..f43ea7dd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.cpp @@ -0,0 +1,116 @@ +#include "mainwindow.h" +#include "tab.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if QT_VERSION >= 0x040200 +#include +#include +#endif // QT_VERSION + +MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags) + : QMainWindow(parent, flags) +{ + ui.setupUi(this); + createProgressBar(); + ui.tabWidget->setTabContextMenuPolicy(Qt::ActionsContextMenu); + + connect(ui.actionQuit, SIGNAL(triggered()), this, SLOT(close())); + connect(ui.actionAddTab, SIGNAL(triggered()), this, SLOT(addTab())); + connect(ui.actionAboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt())); + connect(ui.actionAboutQxtGui, SIGNAL(triggered()), this, SLOT(aboutQxtGui())); + connect(ui.actionSwitchLayoutDirection, SIGNAL(triggered()), this, SLOT(switchLayoutDirection())); + connect(ui.actionConfigure, SIGNAL(triggered()), this, SLOT(configure())); + + if (!qxtApp->addHotKey(Qt::ControlModifier | Qt::ShiftModifier | Qt::AltModifier, Qt::Key_S, this, "toggleVisibility")) + ui.labelVisibility->hide(); +} + +MainWindow::~MainWindow() +{ +} + +void MainWindow::closeEvent(QCloseEvent* event) +{ +#if QT_VERSION >= 0x040200 + static const QString title("QxtConfirmationMessage"); + static const QString text(tr("Are you sure you want to quit?")); + if (QxtConfirmationMessage::confirm(this, title, text) == QMessageBox::No) + event->ignore(); +#endif // QT_VERSION +} + +void MainWindow::aboutQxtGui() +{ + QMessageBox::information(this, tr("About QxtGui"), + tr("

    About QxtGui

    " + "

    QxtGui is part of Qxt, the Qt eXTension library <" + "http://libqxt.sf.net>.

    ")); +} + +void MainWindow::addTab() +{ + Tab* tab = new Tab(ui.tabWidget); + ui.tabWidget->addTab(tab, tr("Tab %1").arg(ui.tabWidget->count() + 1)); + QAction* act = ui.tabWidget->addTabAction(ui.tabWidget->indexOf(tab), tr("Close"), tab, SLOT(close()), tr("Ctrl+W")); + tab->addAction(act); + ui.tabWidget->setCurrentWidget(tab); + connect(tab, SIGNAL(somethingHappened(const QString&)), statusBar(), SLOT(showMessage(const QString&))); +} + +void MainWindow::switchLayoutDirection() +{ + qApp->setLayoutDirection(layoutDirection() == Qt::LeftToRight ? Qt::RightToLeft : Qt::LeftToRight); +} + +void MainWindow::toggleVisibility() +{ + setVisible(!isVisible()); +} + +void MainWindow::createProgressBar() +{ + QxtProgressLabel* label = new QxtProgressLabel(statusBar()); + + QProgressBar* bar = new QProgressBar(statusBar()); + bar->setMaximumWidth(label->sizeHint().width() * 2); + bar->setRange(0, 120); + +#if QT_VERSION >= 0x040200 + QTimeLine* timeLine = new QTimeLine(120000, this); + timeLine->setFrameRange(0, 120); + + connect(timeLine, SIGNAL(frameChanged(int)), bar, SLOT(setValue(int))); + connect(timeLine, SIGNAL(finished()), label, SLOT(restart())); + connect(bar, SIGNAL(valueChanged(int)), label, SLOT(setValue(int))); + timeLine->start(); +#endif // QT_VERSION + + statusBar()->addPermanentWidget(bar); + statusBar()->addPermanentWidget(label); +} + +void MainWindow::configure() +{ + QxtConfigDialog dialog(this); + dialog.setWindowTitle(tr("QxtConfigDialog")); + QTreeView* page2 = new QTreeView(&dialog); + page2->setModel(new QDirModel(page2)); + QListWidget* page3 = new QListWidget(&dialog); + for (int i = 0; i < 100; ++i) + page3->addItem(QString::number(i)); + dialog.addPage(page2, QIcon(":tree.png"), "A directory tree"); + dialog.addPage(page3, QIcon(":list.png"), "Some kind of list"); +#if QT_VERSION >= 0x040200 + QCalendarWidget* page1 = new QCalendarWidget(&dialog); + dialog.addPage(page1, QIcon(":calendar.png"), "Calendar"); +#endif + dialog.exec(); +} diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.h b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.h new file mode 100644 index 00000000..2e61d573 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.h @@ -0,0 +1,29 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include "ui_mainwindow.h" + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget* parent = 0, Qt::WindowFlags flags = 0); + ~MainWindow(); + +protected: + void closeEvent(QCloseEvent* event); + +private slots: + void aboutQxtGui(); + void addTab(); + void switchLayoutDirection(); + void toggleVisibility(); + void configure(); + +private: + void createProgressBar(); + Ui::MainWindow ui; +}; + +#endif // MAINWINDOW_H diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.ui b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.ui new file mode 100644 index 00000000..5f6ba089 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/mainwindow.ui @@ -0,0 +1,186 @@ + + MainWindow + + + + 0 + 0 + 629 + 438 + + + + MainWindow + + + + + 0 + + + 6 + + + + + + + + QxtTabWidget + + + QxtTabWidget + + + 0 + + + + Tab 1 + + + + 9 + + + 6 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Welcome to QxtGui test application. Start with adding a tab from View->Add Tab. + + + Qt::ElideRight + + + + + + + The visibility of the application may be toggled with Ctrl+Alt+Shift+S. + + + Qt::ElideRight + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + 0 + 0 + 629 + 29 + + + + + &File + + + + + + &Help + + + + + + + &View + + + + + + + + + + + + + &Quit + + + Ctrl+Q + + + + + About QxtGui + + + + + About Qt + + + + + &Add Tab + + + Ctrl+T + + + + + Switch Layout Direction + + + + + Configure... + + + + + + QxtTabWidget + QTabWidget +
    QxtTabWidget
    +
    + + QxtLabel + QFrame +
    QxtLabel
    +
    +
    + + +
    diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.cpp new file mode 100644 index 00000000..b5a148b6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.cpp @@ -0,0 +1,239 @@ +#include "tab.h" +#include +#include + +Tab::Tab(QWidget* parent) : QWidget(parent) +{ + ui.setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + fillItemViews(); +} + +Tab::~Tab() +{ +} + +void Tab::on_qxtCheckComboBox_checkedItemsChanged(const QStringList& items) +{ + QString what = QString("QxtCheckComboBox::checkedItemsChanged(%1)"); + what = what.arg(items.join(ui.qxtCheckComboBox->separator())); + emit somethingHappened(what); +} + +void Tab::on_qxtGroupBox_toggled(bool on) +{ + QString what = QString("QxtGroupBox::toggled(%1)").arg(on ? tr("true") : tr("false")); + emit somethingHappened(what); +} + +void Tab::on_qxtLabel_clicked() +{ + emit somethingHappened("QxtLabel::clicked()"); +} + +void Tab::on_qxtListWidget_itemEditingStarted(QListWidgetItem* item) +{ + QString what = QString("QxtListWidget::itemEditingStarted(%1)").arg(item->text()); + emit somethingHappened(what); +} + +void Tab::on_qxtListWidget_itemEditingFinished(QListWidgetItem* item) +{ + QString what = QString("QxtListWidget::itemEditingFinished(%1)").arg(item->text()); + emit somethingHappened(what); +} + +void Tab::on_qxtListWidget_itemCheckStateChanged(QxtListWidgetItem* item) +{ + QString what = QString("QxtListWidget::itemCheckStateChanged(%1, %2)"); + what = what.arg(item->text()).arg(item->checkState() == Qt::Unchecked ? "Qt::Unchecked" : "Qt::Checked"); + emit somethingHappened(what); +} + +void Tab::on_qxtSpanSliderHor_spanChanged(int lower, int upper) +{ + QString what = QString("QxtSpanSlider::spanChanged(%1,%2)").arg(lower).arg(upper); + emit somethingHappened(what); +} + +void Tab::on_qxtSpanSliderVer_lowerValueChanged(int value) +{ + QString what = QString("QxtSpanSlider::lowerValueChanged(%1)").arg(value); + emit somethingHappened(what); +} + +void Tab::on_qxtSpanSliderVer_upperValueChanged(int value) +{ + QString what = QString("QxtSpanSlider::upperValueChanged(%1)").arg(value); + emit somethingHappened(what); +} + +void Tab::on_qxtStarsHor_valueChanged(int value) +{ + QString what = QString("QxtStars::valueChanged(%1)").arg(value); + emit somethingHappened(what); +} + +void Tab::on_qxtStarsVer_valueChanged(int value) +{ + QString what = QString("QxtStars::valueChanged(%1)").arg(value); + emit somethingHappened(what); +} + +void Tab::on_qxtStringSpinBox_valueChanged(const QString& value) +{ + QString what = QString("QxtStringSpinBox::valueChanged(%1)").arg(value); + emit somethingHappened(what); +} + +void Tab::on_qxtTableWidget_itemEditingStarted(QTableWidgetItem* item) +{ +#if QT_VERSION >= 0x040200 + int row = item->row(); + int col = item->column(); +#else // QT_VERSION < 0x040200 + int row = item->tableWidget()->row(item); + int col = item->tableWidget()->column(item); +#endif // QT_VERSION + QString what = QString("QxtTableWidget::itemEditingStarted(%1,%2)").arg(row).arg(col); + emit somethingHappened(what); +} + +void Tab::on_qxtTableWidget_itemEditingFinished(QTableWidgetItem* item) +{ +#if QT_VERSION >= 0x040200 + int row = item->row(); + int col = item->column(); +#else // QT_VERSION < 0x040200 + int row = item->tableWidget()->row(item); + int col = item->tableWidget()->column(item); +#endif // QT_VERSION + QString what = QString("QxtTableWidget::itemEditingFinished(%1,%2)").arg(row).arg(col); + emit somethingHappened(what); +} + +void Tab::on_qxtTableWidget_itemCheckStateChanged(QxtTableWidgetItem* item) +{ +#if QT_VERSION >= 0x040200 + int row = item->row(); + int col = item->column(); +#else // QT_VERSION < 0x040200 + int row = item->tableWidget()->row(item); + int col = item->tableWidget()->column(item); +#endif // QT_VERSION + QString what = QString("QxtTableWidget::itemCheckStateChanged(%1, %2, %3)").arg(row).arg(col); + what = what.arg(item->checkState() == Qt::Unchecked ? "Qt::Unchecked" : "Qt::Checked"); + emit somethingHappened(what); +} + +void Tab::on_qxtTreeWidget_itemEditingStarted(QTreeWidgetItem* item) +{ + QString what = QString("QxtTreeWidget::itemEditingStarted(%1)").arg(item->text(0)); + emit somethingHappened(what); +} + +void Tab::on_qxtTreeWidget_itemEditingFinished(QTreeWidgetItem* item) +{ + QString what = QString("QxtTreeWidget::itemEditingFinished(%1)").arg(item->text(0)); + emit somethingHappened(what); +} + +void Tab::on_qxtTreeWidget_itemCheckStateChanged(QxtTreeWidgetItem* item) +{ + QString what = QString("QxtTreeWidget::itemCheckStateChanged(%1, %2)"); + what = what.arg(item->text(0)).arg(item->checkState(0) == Qt::Unchecked ? "Qt::Unchecked" : "Qt::Checked"); + emit somethingHappened(what); +} + +void Tab::fillItemViews() +{ + ui.qxtTreeWidget->header()->hide(); +#if QT_VERSION >= 0x040200 + ui.qxtTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents); +#endif + QxtTreeWidgetItem* treeItem = new QxtTreeWidgetItem(ui.qxtTreeWidget, QStringList() << tr("Phasellus")); + treeItem = new QxtTreeWidgetItem(treeItem, QStringList() << tr("Faucibus")); + treeItem->setFlag(Qt::ItemIsUserCheckable); + treeItem->setFlag(Qt::ItemIsEditable); + treeItem->setCheckState(0, Qt::Unchecked); + treeItem->setData(1, QxtItemDelegate::ProgressRole, 75); + treeItem = new QxtTreeWidgetItem(ui.qxtTreeWidget, QStringList() << tr("Curabitur")); + treeItem = new QxtTreeWidgetItem(treeItem, QStringList() << tr("Mauris")); + treeItem->setFlag(Qt::ItemIsUserCheckable); + treeItem->setFlag(Qt::ItemIsEditable); + treeItem->setCheckState(0, Qt::Unchecked); + treeItem->setData(1, QxtItemDelegate::ProgressRole, 98); + treeItem = new QxtTreeWidgetItem(ui.qxtTreeWidget, QStringList() << tr("Quisque")); + treeItem = new QxtTreeWidgetItem(treeItem, QStringList() << tr("Vestibulum")); + treeItem->setFlag(Qt::ItemIsUserCheckable); + treeItem->setFlag(Qt::ItemIsEditable); + treeItem->setCheckState(0, Qt::Unchecked); + treeItem->setData(1, QxtItemDelegate::ProgressRole, 0); + treeItem = new QxtTreeWidgetItem(treeItem, QStringList() << tr("Pellentesque")); + treeItem->setFlag(Qt::ItemIsUserCheckable); + treeItem->setFlag(Qt::ItemIsEditable); + treeItem->setCheckState(0, Qt::Unchecked); + treeItem->setData(1, QxtItemDelegate::ProgressRole, 99); + + QxtListWidgetItem* listItem = new QxtListWidgetItem(tr("Phasellus"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Faucibus"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Curabitur"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Mauris"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Quisque"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Vestibulum"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + listItem = new QxtListWidgetItem(tr("Pellentesque"), ui.qxtListWidget); + listItem->setFlag(Qt::ItemIsUserCheckable); + listItem->setFlag(Qt::ItemIsEditable); + listItem->setCheckState(Qt::Unchecked); + + ui.qxtTableWidget->setColumnCount(2); + ui.qxtTableWidget->setRowCount(3); + QxtTableWidgetItem* tableItem = new QxtTableWidgetItem(tr("Phasellus")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(0, 0, tableItem); + tableItem = new QxtTableWidgetItem(tr("Faucibus")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(0, 1, tableItem); + tableItem = new QxtTableWidgetItem(tr("Curabitur")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(1, 0, tableItem); + tableItem = new QxtTableWidgetItem(tr("Mauris")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(1, 1, tableItem); + tableItem = new QxtTableWidgetItem(tr("Quisque")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(2, 0, tableItem); + tableItem = new QxtTableWidgetItem(tr("Vestibulum")); + tableItem->setFlag(Qt::ItemIsUserCheckable); + tableItem->setFlag(Qt::ItemIsEditable); + tableItem->setCheckState(Qt::Unchecked); + ui.qxtTableWidget->setItem(2, 1, tableItem); +} diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.h b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.h new file mode 100644 index 00000000..8d253f90 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.h @@ -0,0 +1,42 @@ +#ifndef TAB_H +#define TAB_H + +#include "ui_tab.h" + +class Tab : public QWidget +{ + Q_OBJECT + +public: + Tab(QWidget* parent = 0); + ~Tab(); + +signals: + void somethingHappened(const QString& what); + +private slots: + void on_qxtCheckComboBox_checkedItemsChanged(const QStringList& items); + void on_qxtGroupBox_toggled(bool on); + void on_qxtLabel_clicked(); + void on_qxtListWidget_itemEditingStarted(QListWidgetItem* item); + void on_qxtListWidget_itemEditingFinished(QListWidgetItem* item); + void on_qxtListWidget_itemCheckStateChanged(QxtListWidgetItem* item); + void on_qxtSpanSliderHor_spanChanged(int lower, int upper); + void on_qxtSpanSliderVer_lowerValueChanged(int value); + void on_qxtSpanSliderVer_upperValueChanged(int value); + void on_qxtStarsHor_valueChanged(int value); + void on_qxtStarsVer_valueChanged(int value); + void on_qxtStringSpinBox_valueChanged(const QString& value); + void on_qxtTableWidget_itemEditingStarted(QTableWidgetItem* item); + void on_qxtTableWidget_itemEditingFinished(QTableWidgetItem* item); + void on_qxtTableWidget_itemCheckStateChanged(QxtTableWidgetItem* item); + void on_qxtTreeWidget_itemEditingStarted(QTreeWidgetItem* item); + void on_qxtTreeWidget_itemEditingFinished(QTreeWidgetItem* item); + void on_qxtTreeWidget_itemCheckStateChanged(QxtTreeWidgetItem* item); + +private: + void fillItemViews(); + Ui::Tab ui; +}; + +#endif // TAB_H diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.ui b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.ui new file mode 100644 index 00000000..026d5c02 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/app/tab.ui @@ -0,0 +1,459 @@ + + Tab + + + + 0 + 0 + 479 + 331 + + + + Form + + + + 9 + + + 6 + + + + + + + + QxtGroupBox + + + QxtGroupBox + + + GroupBox + + + false + + + + 9 + + + 6 + + + + + + + + QxtSpanSlider + + + QxtSpanSlider + + + 5 + + + Qt::Horizontal + + + QSlider::TicksAbove + + + 15 + + + 0 + + + 0 + + + + + + + QxtStars + + + QxtStars + + + 10 + + + 3 + + + 7 + + + Qt::Horizontal + + + + + + + + + + QxtSpanSlider + + + QxtSpanSlider + + + Qt::Vertical + + + true + + + true + + + 0 + + + 99 + + + + + + + QxtStars + + + QxtStars + + + 3 + + + 3 + + + 1 + + + Qt::Vertical + + + + + + + + + + QxtCheckComboBox + + + QxtCheckComboBox + + + ... + + + + + + QxtCheckComboBox::CheckWholeItem + + + + Curabitur + + + + + eleifend + + + + + purus + + + + + id + + + + + velit + + + + + + + + + + + QxtStringSpinBox + + + QxtStringSpinBox + + + + Curabitur + eleifend + purus + id + velit + + + + + + + + + + + + 3 + 5 + 0 + 0 + + + + 1 + + + + + 0 + 0 + 112 + 112 + + + + List + + + + 9 + + + 6 + + + + + QxtListWidget + + + QxtListWidget + + + + + + + + + 0 + 0 + 397 + 169 + + + + Tree + + + + 9 + + + 6 + + + + + + + + QxtTreeWidget + + + QxtTreeWidget + + + 2 + + + Qxt::Buttonlike + + + + 1 + + + + + 2 + + + + + + + + + + 0 + 0 + 112 + 112 + + + + Table + + + + 9 + + + 6 + + + + + + + + + + + + + 4 + 5 + 0 + 0 + + + + Click me! + + + QxtLabel + + + QxtLabel + + + QFrame::Panel + + + QFrame::Sunken + + + 2 + + + 0 + + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + + + Qxt::CounterClockwise + + + + + + + + + + QxtPushButton + + + QxtPushButton + + + <h1>Nam <font color="red">dapibus</font> semper.</h1> + + + Qxt::Clockwise + + + Qt::AutoText + + + + + + + + QxtStars + QWidget +
    QxtStars
    +
    + + QxtTableWidget + QTableWidget +
    QxtTableWidget
    +
    + + QxtTreeWidget + QTreeWidget +
    QxtTreeWidget
    +
    + + QxtLabel + QFrame +
    QxtLabel
    +
    + + QxtStringSpinBox + QSpinBox +
    QxtStringSpinBox
    +
    + + QxtListWidget + QListWidget +
    QxtListWidget
    +
    + + QxtGroupBox + QGroupBox +
    QxtGroupBox
    + 1 +
    + + QxtCheckComboBox + QComboBox +
    QxtCheckComboBox
    +
    + + QxtPushButton + QPushButton +
    QxtPushButton
    +
    + + QxtSpanSlider + QSlider +
    QxtSpanSlider
    +
    +
    + + +
    diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/main.cpp b/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/main.cpp new file mode 100644 index 00000000..a4921f25 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/main.cpp @@ -0,0 +1,650 @@ +#include +#include +#include + +class TestQxtGui : public QObject +{ + Q_OBJECT + +private slots: + void testQxtApplication(); + + void testQxtCheckComboBox_data(); + void testQxtCheckComboBox(); + + void testQxtConfigDialog(); + void testQxtConfirmationMessage(); + void testQxtDesktopWidget(); + void testQxtDockWidget(); + void testQxtGroupBox(); + void testQxtItemDelegate(); + + void testQxtLabel(); + + void testQxtListWidget_data(); + void testQxtListWidget(); + + void testQxtProgressLabel(); + void testQxtProxyStyle(); + void testQxtPushButton(); + void testQxtSpanSlider(); + void testQxtStars(); + void testQxtStringSpinBox(); + + void testQxtTableWidget_data(); + void testQxtTableWidget(); + + void testQxtTabWidget(); + void testQxtToolTip(); + + void testQxtTreeWidget_data(); + void testQxtTreeWidget(); +}; + +void TestQxtGui::testQxtApplication() +{ + // See: test/app +} + +void TestQxtGui::testQxtCheckComboBox_data() +{ + QTest::addColumn("popup"); + QTest::addColumn("select"); + QTest::addColumn("close"); + QTest::addColumn("expected"); + + QTestEventList popup1; + popup1.addKeyClick(Qt::Key_Up); // popup + + QTestEventList popup2; + popup2.addKeyClick(Qt::Key_Down); // popup + + QTestEventList close1; + close1.addKeyClick(Qt::Key_Escape); // close + + QTestEventList close2; + close2.addKeyClick(Qt::Key_Return); // close + + QTestEventList select0; + QStringList result0; + + QTestEventList select1; + select1.addKeyClick(Qt::Key_Space); // select first + select1.addKeyClick(Qt::Key_Down); // move to second + select1.addKeyClick(Qt::Key_Down); // move to third + select1.addKeyClick(Qt::Key_Space); // select third + QStringList result1 = QStringList() << "1" << "3"; + + QTestEventList select2; + select2.addKeyClick(Qt::Key_Down); // move to second + select2.addKeyClick(Qt::Key_Down); // move to third + select2.addKeyClick(Qt::Key_Up); // move back to second + select2.addKeyClick(Qt::Key_Space); // select second + QStringList result2 = QStringList() << "2"; + + QTest::newRow("-") << popup1 << select0 << close2 << result0; + QTest::newRow("1,3") << popup1 << select1 << close1 << result1; + QTest::newRow("2") << popup2 << select2 << close2 << result2; +} + +void TestQxtGui::testQxtCheckComboBox() +{ + QFETCH(QTestEventList, popup); + QFETCH(QTestEventList, select); + QFETCH(QTestEventList, close); + QFETCH(QStringList, expected); + + QxtCheckComboBox combo; + combo.addItems(QStringList() << "1" << "2" << "3" << "4"); + + QSignalSpy spy(&combo, SIGNAL(checkedItemsChanged(const QStringList&))); + QVERIFY(spy.isValid()); + + popup.simulate(&combo); + select.simulate(combo.view()); + close.simulate(&combo); + + QCOMPARE(combo.checkedItems(), expected); + + if (!combo.checkedItems().isEmpty()) + { + QVERIFY(spy.count() > 0); + while (!spy.isEmpty()) + { + QList arguments = spy.takeFirst(); + QVERIFY(arguments.at(0).type() == QVariant::StringList); + } + } + else + { + QVERIFY(spy.count() == 0); + } +} + +void TestQxtGui::testQxtConfigDialog() +{ + // See: test/app, demos/configdialog +} + +void TestQxtGui::testQxtConfirmationMessage() +{ + // See: test/app +} + +void TestQxtGui::testQxtDesktopWidget() +{ + // See: demos/qxtsnapshot + WId activeId = QxtDesktopWidget::activeWindow(); + QString activeTitle = QxtDesktopWidget::windowTitle(activeId); + WId foundId = QxtDesktopWidget::findWindow(activeTitle); + QString foundTitle = QxtDesktopWidget::windowTitle(foundId); + QRect activeRect = QxtDesktopWidget::windowGeometry(activeId); + WId atId = QxtDesktopWidget::windowAt(activeRect.center()); + QString atTitle = QxtDesktopWidget::windowTitle(atId); + QVERIFY(activeId == foundId); + QVERIFY(foundId == atId); + QVERIFY(activeTitle == foundTitle); + QVERIFY(foundTitle == atTitle); +} + +void TestQxtGui::testQxtDockWidget() +{ + // See: demos/dockwidgets +} + +void TestQxtGui::testQxtGroupBox() +{ + // See: test/app +} + +void TestQxtGui::testQxtItemDelegate() +{ + // See: + // - testQxtListWidget() + // - testQxtTableWidget() + // - testQxtTreeWidget() +} + +void TestQxtGui::testQxtLabel() +{ + QxtLabel label("Text"); + + QTestEventList events; + events.addMouseClick(Qt::LeftButton); + + QSignalSpy clicked(&label, SIGNAL(clicked())); + QSignalSpy textChanged(&label, SIGNAL(textChanged(const QString&))); + QVERIFY(clicked.isValid()); + QVERIFY(textChanged.isValid()); + + events.simulate(&label); + label.setText("Changed"); + + QCOMPARE(clicked.count(), 1); + QCOMPARE(textChanged.count(), 1); + + QList arguments = clicked.takeFirst(); + QVERIFY(arguments.isEmpty()); + + arguments = textChanged.takeFirst(); + QVERIFY(arguments.at(0).toString() == "Changed"); +} + +void TestQxtGui::testQxtListWidget_data() +{ + QTest::addColumn("events"); + QTest::addColumn("amount"); + + QTestEventList all; + for (int i = 0; i < 10; ++i) + { + all.addKeyClick(Qt::Key_Down); // select/finish edit + all.addKeyClick(Qt::Key_Space); // check + all.addKeyClick(Qt::Key_F2); // start edit + } + all.addKeyClick(Qt::Key_Up); + QTest::newRow("all checked") << all << 10; + + QTestEventList second; + for (int i = 0; i < 10; i += 2) + { + second.addKeyClick(Qt::Key_Down); // select + second.addKeyClick(Qt::Key_Space); // check + second.addKeyClick(Qt::Key_F2); // start edit + second.addKeyClick(Qt::Key_Escape); // finish edit + } + second.addKeyClick(Qt::Key_Up); + QTest::newRow("every second checked") << second << 5; + + QTestEventList none; + QTest::newRow("none checked") << none << 0; +} + +void TestQxtGui::testQxtListWidget() +{ + QFETCH(QTestEventList, events); + QFETCH(int, amount); + + QxtListWidget listWidget; + listWidget.setEditTriggers(QAbstractItemView::EditKeyPressed); + for (int i = 0; i < 10; ++i) + { + QxtListWidgetItem* item = new QxtListWidgetItem(QString::number(i), &listWidget); + item->setFlag(Qt::ItemIsUserCheckable); + item->setFlag(Qt::ItemIsEditable); + item->setCheckState(Qt::Unchecked); + } + + qRegisterMetaType("QListWidgetItem*"); + qRegisterMetaType("QxtListWidgetItem*"); + QSignalSpy editStarted(&listWidget, SIGNAL(itemEditingStarted(QListWidgetItem*))); + QSignalSpy editFinished(&listWidget, SIGNAL(itemEditingFinished(QListWidgetItem*))); + QSignalSpy checkChanged(&listWidget, SIGNAL(itemCheckStateChanged(QxtListWidgetItem*))); + QVERIFY(editStarted.isValid()); + QVERIFY(editFinished.isValid()); + QVERIFY(checkChanged.isValid()); + + events.simulate(listWidget.viewport()); + + QList checkedItems; + for (int i = 0; i < 10; ++i) + { + QListWidgetItem* item = listWidget.item(i); + if (item && item->data(Qt::CheckStateRole).toInt() == Qt::Checked) + checkedItems += item; + } + + QCOMPARE(checkChanged.count(), checkedItems.count()); + QCOMPARE(editStarted.count(), amount); + QCOMPARE(editFinished.count(), amount); +} + +void TestQxtGui::testQxtProgressLabel() +{ + // See: test/app +} + +void TestQxtGui::testQxtProxyStyle() +{ + // Nothing to test +} + +void TestQxtGui::testQxtPushButton() +{ + // See: test/app +} + +void TestQxtGui::testQxtStars() +{ + // See: test/app +} + +void TestQxtGui::testQxtSpanSlider() +{ + QxtSpanSlider slider; + slider.setRange(0, 99); + + QSignalSpy spanChanged(&slider, SIGNAL(spanChanged(int, int))); + QSignalSpy lowerChanged(&slider, SIGNAL(lowerValueChanged(int))); + QSignalSpy upperChanged(&slider, SIGNAL(upperValueChanged(int))); + QVERIFY(spanChanged.isValid()); + QVERIFY(lowerChanged.isValid()); + QVERIFY(upperChanged.isValid()); + + // #1 setSpan() - basic change + slider.setSpan(4, 75); + QCOMPARE(slider.lowerValue(), 4); + QCOMPARE(slider.upperValue(), 75); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 1); + QList args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 4); + QVERIFY(args.at(1).toInt() == 75); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 4); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 75); + + // #2 setSpan() - no change + slider.setSpan(75, 4); + QCOMPARE(slider.lowerValue(), 4); + QCOMPARE(slider.upperValue(), 75); + QCOMPARE(spanChanged.count(), 0); + QCOMPARE(lowerChanged.count(), 0); + QCOMPARE(upperChanged.count(), 0); + + // #3 setSpan() - inverse span + slider.setSpan(66, 33); + QCOMPARE(slider.lowerValue(), 33); + QCOMPARE(slider.upperValue(), 66); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 1); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 33); + QVERIFY(args.at(1).toInt() == 66); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 33); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 66); + + // #4 setSpan() - keep span in range + slider.setSpan(-400, 400); + QCOMPARE(slider.lowerValue(), 0); + QCOMPARE(slider.upperValue(), 99); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 1); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 0); + QVERIFY(args.at(1).toInt() == 99); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 0); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 99); + + // #5 setLowerValue() - basic change + slider.setLowerValue(3); + QCOMPARE(slider.lowerValue(), 3); + QCOMPARE(slider.upperValue(), 99); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 0); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 3); + QVERIFY(args.at(1).toInt() == 99); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 3); + + // #6 setLowerValue() - no change + slider.setLowerValue(3); + QCOMPARE(slider.lowerValue(), 3); + QCOMPARE(slider.upperValue(), 99); + QCOMPARE(spanChanged.count(), 0); + QCOMPARE(lowerChanged.count(), 0); + QCOMPARE(upperChanged.count(), 0); + + // #7 setLowerValue() - keep span in range + slider.setLowerValue(-3); + QCOMPARE(slider.lowerValue(), 0); + QCOMPARE(slider.upperValue(), 99); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 0); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 0); + QVERIFY(args.at(1).toInt() == 99); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 0); + + // #8 setUpperValue() - basic change + slider.setUpperValue(77); + QCOMPARE(slider.lowerValue(), 0); + QCOMPARE(slider.upperValue(), 77); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 0); + QCOMPARE(upperChanged.count(), 1); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 0); + QVERIFY(args.at(1).toInt() == 77); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 77); + + // #9 setUpperValue() - no change + slider.setUpperValue(77); + QCOMPARE(slider.lowerValue(), 0); + QCOMPARE(slider.upperValue(), 77); + QCOMPARE(spanChanged.count(), 0); + QCOMPARE(lowerChanged.count(), 0); + QCOMPARE(upperChanged.count(), 0); + + // #10 setUpperValue() - keep span in range + slider.setUpperValue(111); + QCOMPARE(slider.lowerValue(), 0); + QCOMPARE(slider.upperValue(), 99); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 0); + QCOMPARE(upperChanged.count(), 1); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 0); + QVERIFY(args.at(1).toInt() == 99); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 99); + + // #11 setLowerValue(), setUpperValue() - inverse span + slider.setLowerValue(66); // a: lower->66,upper=99 + slider.setUpperValue(33); // b: lower->33,upper->66 + slider.setLowerValue(77); // c: lower->66,upper->77 + QCOMPARE(spanChanged.count(), 3); + QCOMPARE(lowerChanged.count(), 3); + QCOMPARE(upperChanged.count(), 2); + // a + args = spanChanged.takeFirst(); + QVERIFY(args.at(0).toInt() == 66); + QVERIFY(args.at(1).toInt() == 99); + QVERIFY(lowerChanged.takeFirst().at(0).toInt() == 66); + // b + args = spanChanged.takeFirst(); + QVERIFY(args.at(0).toInt() == 33); + QVERIFY(args.at(1).toInt() == 66); + QVERIFY(lowerChanged.takeFirst().at(0).toInt() == 33); + QVERIFY(upperChanged.takeFirst().at(0).toInt() == 66); + // c + args = spanChanged.takeFirst(); + QVERIFY(args.at(0).toInt() == 66); + QVERIFY(args.at(1).toInt() == 77); + QVERIFY(lowerChanged.takeFirst().at(0).toInt() == 66); + QVERIFY(upperChanged.takeFirst().at(0).toInt() == 77); + + // # 12 change of range + slider.setRange(68, 72); + QCOMPARE(slider.lowerValue(), 68); + QCOMPARE(slider.upperValue(), 72); + QCOMPARE(spanChanged.count(), 1); + QCOMPARE(lowerChanged.count(), 1); + QCOMPARE(upperChanged.count(), 1); + args = spanChanged.takeLast(); + QVERIFY(args.at(0).toInt() == 68); + QVERIFY(args.at(1).toInt() == 72); + QVERIFY(lowerChanged.takeLast().at(0).toInt() == 68); + QVERIFY(upperChanged.takeLast().at(0).toInt() == 72); +} + +void TestQxtGui::testQxtStringSpinBox() +{ + QStringList strings; + for (int i = 0; i < 10; ++i) + strings += QString::number(i); + + QxtStringSpinBox spinBox; + spinBox.setStrings(strings); + + QTestEventList up; + up.addKeyClick(Qt::Key_Up); + + QTestEventList down; + down.addKeyClick(Qt::Key_Down); + + for (int i = 0; i < 10; ++i) + { + QCOMPARE(spinBox.cleanText(), QString::number(i)); + up.simulate(&spinBox); + QCOMPARE(spinBox.cleanText(), QString::number(qMin(i+1, 9))); + } + + for (int i = 9; i >= 0; --i) + { + QCOMPARE(spinBox.cleanText(), QString::number(i)); + down.simulate(&spinBox); + QCOMPARE(spinBox.cleanText(), QString::number(qMax(i-1, 0))); + } +} + +void TestQxtGui::testQxtTableWidget_data() +{ + QTest::addColumn("events"); + QTest::addColumn("amount"); + + QTestEventList all; + all.addKeyClick(Qt::Key_Tab); // select first + all.addKeyClick(Qt::Key_F2); // start editing + all.addKeyClick(Qt::Key_Tab); // select second + all.addKeyClick(Qt::Key_F2); // start editing + all.addKeyClick(Qt::Key_Tab); // select third + all.addKeyClick(Qt::Key_F2); // start editing + all.addKeyClick(Qt::Key_Tab); // select fourth + all.addKeyClick(Qt::Key_F2); // start editing + all.addKeyClick(Qt::Key_Tab); // finish editing + QTest::newRow("all edited") << all << 4; + + QTestEventList second; + second.addKeyClick(Qt::Key_Tab); // select second + second.addKeyClick(Qt::Key_Tab); + second.addKeyClick(Qt::Key_F2); // edit + second.addKeyClick(Qt::Key_Tab); // select fourth + second.addKeyClick(Qt::Key_Tab); + second.addKeyClick(Qt::Key_F2); // edit + second.addKeyClick(Qt::Key_Tab); // abort + QTest::newRow("every second edited") << second << 2; + + QTestEventList none; + QTest::newRow("none edited") << none << 0; +} + +void TestQxtGui::testQxtTableWidget() +{ + QFETCH(QTestEventList, events); + QFETCH(int, amount); + + QxtTableWidget tableWidget(2, 2); + tableWidget.setEditTriggers(QAbstractItemView::EditKeyPressed); + + qRegisterMetaType("QTableWidgetItem*"); + QSignalSpy editStarted(&tableWidget, SIGNAL(itemEditingStarted(QTableWidgetItem*))); + QSignalSpy editFinished(&tableWidget, SIGNAL(itemEditingFinished(QTableWidgetItem*))); + QVERIFY(editStarted.isValid()); + QVERIFY(editFinished.isValid()); + + events.simulate(tableWidget.viewport()); + + QCOMPARE(editStarted.count(), amount); + QCOMPARE(editFinished.count(), amount); +} + +void TestQxtGui::testQxtTabWidget() +{ + QxtTabWidget tabWidget; + tabWidget.setTabContextMenuPolicy(Qt::ActionsContextMenu); + tabWidget.addTab(new QLabel("1"), "1"); + tabWidget.addTab(new QLabel("2"), "2"); + tabWidget.addTab(new QLabel("3"), "3"); + + QPointer act1a = new QAction("1a", &tabWidget); + QPointer act1b = new QAction("1b", &tabWidget); + QPointer act2 = new QAction("2", &tabWidget); + + tabWidget.addTabAction(1, act2); + QCOMPARE(tabWidget.tabActions(0).count(), 0); + QCOMPARE(tabWidget.tabActions(1).count(), 1); + QCOMPARE(tabWidget.tabActions(2).count(), 0); + + QPointer act3 = tabWidget.addTabAction(2, "3"); + QCOMPARE(tabWidget.tabActions(0).count(), 0); + QCOMPARE(tabWidget.tabActions(1).count(), 1); + QCOMPARE(tabWidget.tabActions(2).count(), 1); + + QList actions; + actions << act1a << act1b; + tabWidget.addTabActions(0, actions); + QCOMPARE(tabWidget.tabActions(0).count(), 2); + QCOMPARE(tabWidget.tabActions(1).count(), 1); + QCOMPARE(tabWidget.tabActions(2).count(), 1); + + tabWidget.clearTabActions(0); + QCOMPARE(tabWidget.tabActions(0).count(), 0); + QCOMPARE(tabWidget.tabActions(1).count(), 1); + QCOMPARE(tabWidget.tabActions(2).count(), 1); + QVERIFY(act1a == 0 && act1b == 0); // must have been deleted + + tabWidget.removeTabAction(1, act2); + QCOMPARE(tabWidget.tabActions(0).count(), 0); + QCOMPARE(tabWidget.tabActions(1).count(), 0); + QCOMPARE(tabWidget.tabActions(2).count(), 1); + QVERIFY(act2 != 0); // must not have been deleted + + tabWidget.insertTabAction(2, act3, act2); + QCOMPARE(tabWidget.tabActions(0).count(), 0); + QCOMPARE(tabWidget.tabActions(1).count(), 0); + QCOMPARE(tabWidget.tabActions(2).count(), 2); + QVERIFY(tabWidget.tabActions(2).first() == act2); + QVERIFY(tabWidget.tabActions(2).last() == act3); +} + +void TestQxtGui::testQxtToolTip() +{ + // See demos/qxtsnapshot +} + +void TestQxtGui::testQxtTreeWidget_data() +{ + QTest::addColumn("events"); + QTest::addColumn("amount"); + + QTestEventList all; + for (int i = 0; i < 10; ++i) + { + all.addKeyClick(Qt::Key_Down); // select next + all.addKeyClick(Qt::Key_Space); // check + all.addKeyClick(Qt::Key_F2); // start editing + } + all.addKeyClick(Qt::Key_Up); + QTest::newRow("all checked") << all << 10; + + QTestEventList second; + for (int i = 0; i < 10; i += 2) + { + second.addKeyClick(Qt::Key_Down); // select + second.addKeyClick(Qt::Key_Space); // check + second.addKeyClick(Qt::Key_F2); // start edit + second.addKeyClick(Qt::Key_Escape); // finish edit + } + second.addKeyClick(Qt::Key_Up); + QTest::newRow("every second checked") << second << 5; + + QTestEventList none; + QTest::newRow("none checked") << none << 0; +} + +void TestQxtGui::testQxtTreeWidget() +{ + QFETCH(QTestEventList, events); + QFETCH(int, amount); + + QxtTreeWidget treeWidget; + treeWidget.setColumnCount(1); + treeWidget.setEditTriggers(QAbstractItemView::EditKeyPressed); + for (int i = 0; i < 10; ++i) + { + QxtTreeWidgetItem* item = new QxtTreeWidgetItem(&treeWidget, QStringList(QString::number(i))); + item->setFlag(Qt::ItemIsEditable); + item->setFlag(Qt::ItemIsUserCheckable); + item->setCheckState(0, Qt::Unchecked); + } + + qRegisterMetaType("QTreeWidgetItem*"); + qRegisterMetaType("QxtTreeWidgetItem*"); + QSignalSpy editStarted(&treeWidget, SIGNAL(itemEditingStarted(QTreeWidgetItem*))); + QSignalSpy editFinished(&treeWidget, SIGNAL(itemEditingFinished(QTreeWidgetItem*))); + QSignalSpy checkChanged(&treeWidget, SIGNAL(itemCheckStateChanged(QxtTreeWidgetItem*))); + QVERIFY(editStarted.isValid()); + QVERIFY(editFinished.isValid()); + QVERIFY(checkChanged.isValid()); + + events.simulate(treeWidget.viewport()); + + QList checkedItems; + for (int i = 0; i < 10; ++i) + { + QTreeWidgetItem* item = treeWidget.topLevelItem(i); + if (item && item->data(0, Qt::CheckStateRole).toInt() == Qt::Checked) + checkedItems += item; + } + + QCOMPARE(checkChanged.count(), checkedItems.count()); + QCOMPARE(editStarted.count(), amount); + QCOMPARE(editFinished.count(), amount); +} + +QTEST_MAIN(TestQxtGui) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/unit.pro b/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/unit.pro new file mode 100644 index 00000000..10687ead --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/QxtGui/unit/unit.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = test +DEPENDPATH += . +INCLUDEPATH += . +CONFIG += qtestlib qxt +QXT += core gui +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/bind/bind.pro b/src/contrib/libqxt-2007-10-24/tests/bind/bind.pro new file mode 100644 index 00000000..cc1545d2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/bind/bind.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG += qxt qtestlib +QT -= gui +QXT += core +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/bind/main.cpp b/src/contrib/libqxt-2007-10-24/tests/bind/main.cpp new file mode 100644 index 00000000..ece8b8e9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/bind/main.cpp @@ -0,0 +1,97 @@ +#include +#include +#include +#include +#include + +void unaryVoidFunction(QObject* obj); + +void nullaryVoidFunction() { + qDebug() << "If you don't see this, it's broken."; +} + +int nullaryIntFunction() +{ + return 5; +} + +int unaryIntFunction(int x) +{ + return x * 2; +} + +class QxtMetaObjectTest: public QObject +{ + Q_OBJECT + +signals: + void say(QString); + void doit(); + void success(); + +public: + void unaryVoidFunctionSuccess() { + emit success(); + } + +private slots: + void readwrite() + { + QxtMetaObject::connect(this, SIGNAL(doit()), QxtMetaObject::bind(this, SLOT(say(QString)), Q_ARG(QString,"hello"))); + QSignalSpy spy(this, SIGNAL(say(QString))); + emit(doit()); + QVERIFY2 (spy.count()> 0, "no signal received" ); + QVERIFY2 (spy.count()< 2, "wtf, two signals received?" ); + + QList arguments = spy.takeFirst(); + QVERIFY2(arguments.at(0).toString()=="hello","argument missmatch"); + + QxtBoundFunction* nullaryVoid = QxtMetaObject::bind(qxtFuncPtr(nullaryVoidFunction)); + QxtBoundFunction* unaryVoid = QxtMetaObject::bind(qxtFuncPtr(unaryVoidFunction), Q_ARG(QObject*, this)); + QxtBoundFunction* nullaryInt = QxtMetaObject::bind(qxtFuncPtr(nullaryIntFunction)); + QxtBoundFunction* unaryIntFixed = QxtMetaObject::bind(qxtFuncPtr(unaryIntFunction), Q_ARG(int, 7)); + QxtBoundFunction* unaryIntBound = QxtMetaObject::bind(qxtFuncPtr(unaryIntFunction), QXT_BIND(1)); + QVERIFY2(nullaryVoid != 0, "nullaryVoidFunction bind failed"); + QVERIFY2(unaryVoid != 0, "unaryVoidFunction bind failed"); + QVERIFY2(nullaryInt != 0, "nullaryIntFunction bind failed"); + QVERIFY2(unaryIntFixed != 0, "unaryIntFunction bind failed with Q_ARG"); + QVERIFY2(unaryIntBound != 0, "unaryIntFunction bind failed with QXT_BIND"); + + bool ok; + ok = nullaryVoid->invoke(); + QVERIFY2(ok, "nullaryVoid invoke failed"); + + QSignalSpy spy2(this, SIGNAL(success())); + ok = unaryVoid->invoke(this); + QVERIFY2(ok, "unaryVoid invoke failed"); + QVERIFY2(spy2.count() == 1, "unaryVoid did not emit success"); + + int v1 = nullaryIntFunction(); + int v2 = nullaryInt->invoke(); + QVERIFY2(v1 == v2, "nullaryInt returned wrong value"); + + v1 = unaryIntFunction(7); + v2 = unaryIntFixed->invoke(); + QVERIFY2(v1 == v2, "unaryIntFixed returned wrong value"); + + v1 = unaryIntFunction(12); + v2 = unaryIntBound->invoke(12); + QVERIFY2(v1 == v2, "unaryIntBound returned wrong value"); + + + } + +}; + +void unaryVoidFunction(QObject* obj) +{ + QxtMetaObjectTest* o = qobject_cast(obj); + if(!o) return; + o->unaryVoidFunctionSuccess(); +} + + + +QTEST_MAIN(QxtMetaObjectTest) +#include "main.moc" + diff --git a/src/contrib/libqxt-2007-10-24/tests/fifo/fifo.pro b/src/contrib/libqxt-2007-10-24/tests/fifo/fifo.pro new file mode 100644 index 00000000..9a4bb8d6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/fifo/fifo.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG+=QXT qtestlib +QXT+=network +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/fifo/main.cpp b/src/contrib/libqxt-2007-10-24/tests/fifo/main.cpp new file mode 100644 index 00000000..e08b1a4b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/fifo/main.cpp @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include +#include +class QxtFifoPipeTest: public QObject + { + Q_OBJECT + private slots: + void initTestCase() + { + io= new QxtFifo; + } + + void readwrite() + { + QDataStream(io)<<"hello"<<34; + char * str; + int i; + QDataStream(io)>>str>>i; + QVERIFY2(i==34,"output not matching input"); + QVERIFY2(str==QString("hello"),"output not mathing input"); + } + + void readyread() + { + QSignalSpy spyr(io, SIGNAL(readyRead())); + io->write("hello"); + QVERIFY2 (spyr.count()> 0, "not emitting readyRead" ); + io->readAll(); + } + + + void size() + { + QByteArray data("askdoamsdoiasmdpoeiowaopimwaioemfowefnwaoief"); + QVERIFY(io->write(data)==data.size()); + QVERIFY(io->bytesAvailable()==data.size()); + io->readAll(); + QVERIFY(io->bytesAvailable()==0); + } + + + void cleanupTestCase() + { + delete(io); + } + + + + + private: + QxtFifo * io; + }; + +QTEST_MAIN(QxtFifoPipeTest) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/filelock/filelock.pro b/src/contrib/libqxt-2007-10-24/tests/filelock/filelock.pro new file mode 100644 index 00000000..7d806ef4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/filelock/filelock.pro @@ -0,0 +1,9 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +SOURCES += main.cpp +CONFIG+=qxt qtestlib +QXT += core + diff --git a/src/contrib/libqxt-2007-10-24/tests/filelock/main.cpp b/src/contrib/libqxt-2007-10-24/tests/filelock/main.cpp new file mode 100644 index 00000000..d4586631 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/filelock/main.cpp @@ -0,0 +1,243 @@ +/** ***** QxtFileLock test ***** */ +#include +#include +#include +#include +#include +#include + +class QxtFileLockTest: public QObject +{ + Q_OBJECT +private: + QFile * file1; + QFile * file2; + + +private slots: + void initTestCase() + { + file1=new QFile("lock.file"); + file2=new QFile("lock.file"); + QVERIFY(file1->open(QIODevice::ReadWrite)); + QVERIFY(file2->open(QIODevice::ReadWrite)); + } + + + ///read and write lock on the same handle + void rw_same() + { + QxtFileLock lock1(file1,0x10,20,QxtFileLock::ReadLock); + QVERIFY(lock1.lock()); + QxtFileLock lock2(file1,0x10,20,QxtFileLock::WriteLock); + QVERIFY(lock2.lock()); + } + + ///Trying to readlock the same region with DIFFERENT handles + void rr_different() + { + QxtFileLock lock1(file1,0x10,20,QxtFileLock::ReadLock); + QxtFileLock lock2(file2,0x10,20,QxtFileLock::ReadLock); + QVERIFY(lock1.lock() && lock2.lock()); + } + + ///Trying to lock the same region with DIFFERENT handles and different locks + void rw_different() + { + QxtFileLock lock1(file1,0x10,20,QxtFileLock::ReadLock); + QxtFileLock lock2(file2,0x10,20,QxtFileLock::WriteLock); + QVERIFY(lock1.lock() && !lock2.lock()); + } + + ///Trying to writelock the same region with DIFFERENT handles + void ww_different() + { + QxtFileLock lock1(file1,0x10,20,QxtFileLock::WriteLock); + QxtFileLock lock2(file2,0x10,20,QxtFileLock::WriteLock); + QVERIFY(lock1.lock() && !lock2.lock()); + } + + ///Trying to writelock the different regions with DIFFERENT handles + void ww_different_region() + { + QxtFileLock lock1(file1,0x10 ,20,QxtFileLock::WriteLock); + QxtFileLock lock2(file2,0x10+21,20,QxtFileLock::WriteLock); + QVERIFY(lock1.lock() && lock2.lock()); + } + + ///different region, different handles, different locks + void rw_different_region() + { + QxtFileLock lock1(file1,0x10 ,20,QxtFileLock::ReadLock); + QxtFileLock lock2(file2,0x10+21,20,QxtFileLock::WriteLock); + QVERIFY(lock1.lock() && lock2.lock()); + } + ///different region, same handles, different locks + void rw_same_region() + { + QxtFileLock lock1(file1,0x10 ,20,QxtFileLock::ReadLock); + QxtFileLock lock2(file1,0x10+21,20,QxtFileLock::WriteLock); + QVERIFY(lock1.lock() && lock2.lock()); + } + void cleanupTestCase() + { + delete file1; + delete file2; + } + +}; +#include +#include + +class Q43Thread : public QThread +{ +public: + void run() + { + exec(); + } +} +; /// qt < 4.3 backwards compatibility + +///this is a job hack, not part of the testcase, ignore it if you don't what it is + +///here is the interesting part of the job. this executes one lock on a spefic thread and asserts the result +class LockJob : public QxtJob +{ +public: + LockJob(QxtFileLock*f,bool expectedresult):QxtJob() + { + lock =f; + expected=expectedresult; + } + QxtFileLock*lock ; + bool expected; + virtual void run() + { + qDebug("locking on %p",QThread::currentThread ()); + QVERIFY(lock ->lock ()==expected); + } + void exec(QThread * o) + { + QxtJob::exec(o); + join(); + } +}; + + +class QxtFileLockThreadTest : public QObject +{ + Q_OBJECT +private: + Q43Thread t1; + Q43Thread t2; + +private slots: + void initTestCase() + { + qDebug("main thread is %p",QThread::currentThread ()); + + QxtSignalWaiter w1(&t1,SIGNAL(started())); + t1.start(); + QVERIFY(t1.isRunning()); + t2.start(); + QVERIFY(t2.isRunning()); + } + + + ///Trying to writelock the same region twice + void ww_same() + { + QFile file1("lock.file"); + QVERIFY(file1.open(QIODevice::ReadWrite)); + QFile file2("lock.file"); + QVERIFY(file2.open(QIODevice::ReadWrite)); + + QxtFileLock lock1(&file1,0x10,20,QxtFileLock::WriteLock); + file1.moveToThread(&t1); + LockJob l(&lock1,true); + l.exec(&t1); + + QxtFileLock lock2(&file2,0x10,20,QxtFileLock::WriteLock); + file2.moveToThread(&t2); + LockJob l2(&lock2,false); + l2.exec(&t2); + l2.join(); + } + + + ///Trying to readlock the same region + void rr_same() + { + QFile file1("lock.file"); + QVERIFY(file1.open(QIODevice::ReadWrite)); + QFile file2("lock.file"); + QVERIFY(file2.open(QIODevice::ReadWrite)); + + QxtFileLock lock1(&file1,0x10,20,QxtFileLock::ReadLock); + file1.moveToThread(&t1); + LockJob l1(&lock1,true); + l1.exec(&t1); + l1.join(); + + QxtFileLock lock2(&file2,0x10,20,QxtFileLock::ReadLock); + file2.moveToThread(&t2); + LockJob l2(&lock2,true); + l2.exec(&t2); + l2.join(); + } + + ///Trying to lock the same region with different locks + void rw_same() + { + + QFile file1("lock.file"); + QVERIFY(file1.open(QIODevice::ReadWrite)); + QFile file2("lock.file"); + QVERIFY(file2.open(QIODevice::ReadWrite)); + + QxtFileLock lock1(&file1,0x10,20,QxtFileLock::WriteLock); + file1.moveToThread(&t1); + LockJob(&lock1,true).exec(&t1); + + QxtFileLock lock2(&file2,0x10,20,QxtFileLock::ReadLock); + file2.moveToThread(&t2); + LockJob(&lock2,false).exec(&t2); + } + + ///Trying to writelock different regions + void ww_different() + { + QFile file1("lock.file"); + QVERIFY(file1.open(QIODevice::ReadWrite)); + QFile file2("lock.file"); + QVERIFY(file2.open(QIODevice::ReadWrite)); + + QxtFileLock lock1(&file1,0x10,20,QxtFileLock::WriteLock); + file1.moveToThread(&t1); + LockJob(&lock1,true).exec(&t1); + + QxtFileLock lock2(&file2,0x10+21,20,QxtFileLock::WriteLock); + file2.moveToThread(&t2); + LockJob(&lock2,true).exec(&t2); + } + void cleanupTestCase() + { + t1.quit (); + t1.wait (); + t2.quit (); + t2.wait (); + } +}; + + +int main(int argc, char ** argv) +{ + QCoreApplication app(argc,argv); + QxtFileLockTest test1; + QxtFileLockThreadTest test2; + return QTest::qExec(&test1,argc,argv)+QTest::qExec(&test2,argc,argv); +} + + +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/job/main.cpp b/src/contrib/libqxt-2007-10-24/tests/job/main.cpp new file mode 100644 index 00000000..905b4f0c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/job/main.cpp @@ -0,0 +1,78 @@ +/** ***** QxtJob test ***** */ +#include +#include +class Q43Thread : public QThread{public:void run(){exec();}}; /// qt < 4.3 backwards compatibility + +#include +#include +#include + + + +class TestJob : public QxtJob +{ +public: + bool b; + TestJob():QxtJob() + { + b=false; + } + virtual void run() + { + qDebug("job on on %p",QThread::currentThread ()); + b=true; + } +}; + +class QxtJobTest : public QObject +{ +Q_OBJECT +private: + Q43Thread t; +private slots: + void initTestCase() + { + t.start(); + } + + void lined() + { + + TestJob l; + QSignalSpy spy(&l, SIGNAL(done())); + QxtSignalWaiter w(&l,SIGNAL(done())); + + l.exec(&t); + + QVERIFY(w.wait(50)); + QCOMPARE(spy.count(), 1); + QVERIFY(l.b); + } + + void joined() + { + TestJob l; + l.exec(&t); + QxtSignalWaiter w(&l,SIGNAL(done())); + l.join(); + QVERIFY(w.wait(100)); + QVERIFY(l.b); + } + + void cleanupTestCase() + { + t.quit(); + QVERIFY(t.wait(50)); + } +}; + + +int main(int argc, char ** argv) +{ + QCoreApplication app(argc,argv); + QxtJobTest test1; + return QTest::qExec(&test1,argc,argv); +} + + +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/job/test.pro b/src/contrib/libqxt-2007-10-24/tests/job/test.pro new file mode 100644 index 00000000..7d806ef4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/job/test.pro @@ -0,0 +1,9 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +SOURCES += main.cpp +CONFIG+=qxt qtestlib +QXT += core + diff --git a/src/contrib/libqxt-2007-10-24/tests/namedpipe/main.cpp b/src/contrib/libqxt-2007-10-24/tests/namedpipe/main.cpp new file mode 100644 index 00000000..8bf5343d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/namedpipe/main.cpp @@ -0,0 +1,38 @@ +/** ***** namedpipe loopback test ******/ +#include +#include +#include +#include +#include +#include +#include + +class QxtnamedPipeTest: public QObject + { + Q_OBJECT + private slots: + void loopback() + { + QxtNamedPipe out("/tmp/QxtNamedPipe"); + QVERIFY2(out.open(QIODevice::ReadWrite),"open failed"); + QxtNamedPipe in("/tmp/QxtNamedPipe"); + QVERIFY2(in.open(QIODevice::ReadOnly),"open failed"); + + QSignalSpy spyr(&in, SIGNAL(readyRead())); + + out.write("hello"); + QString readall=in.readAll(); + qDebug()<<"output:"< 0, "not emitting readyRead" ); + } + + signals: + void wave(); + void counterwave(); + }; + + + +QTEST_MAIN(QxtnamedPipeTest) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/namedpipe/namedpipe.pro b/src/contrib/libqxt-2007-10-24/tests/namedpipe/namedpipe.pro new file mode 100644 index 00000000..9a4bb8d6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/namedpipe/namedpipe.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG+=QXT qtestlib +QXT+=network +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/pipe/main.cpp b/src/contrib/libqxt-2007-10-24/tests/pipe/main.cpp new file mode 100644 index 00000000..89e986b1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/pipe/main.cpp @@ -0,0 +1,74 @@ +#include +#include +#include +#include +#include + +class QxtPipeTest: public QObject +{ +Q_OBJECT +private slots: + void simple() + { + QxtPipe p1; + QxtPipe p2; + p1|p2; + p1.write("hi"); + QVERIFY(p2.readAll()=="hi"); + } + void chain() + { + QxtPipe p1; + QxtPipe p2; + QxtPipe p3; + p1|p2; + p2|p3; + p1.write("hi"); + QVERIFY(p3.readAll()=="hi"); + } + void bidirectional() + { + QxtPipe p1; + QxtPipe p2; + p1|p2; + + p1.write("hi"); + QVERIFY(p2.readAll()=="hi"); + QVERIFY(p1.bytesAvailable()==0); + + p2.write("rehi"); + QVERIFY(p1.readAll()=="rehi"); + QVERIFY(p2.bytesAvailable()==0); + } + void readOnly() + { + QxtPipe p1; + QxtPipe p2; + p1.connect(&p2,QIODevice::ReadOnly); + + p1.write("hi"); + QVERIFY(p1.bytesAvailable()==0); + QVERIFY(p2.bytesAvailable()==0); + + p2.write("rehi"); + QVERIFY(p1.readAll()=="rehi"); + QVERIFY(p2.bytesAvailable()==0); + } + void writeOnly() + { + QxtPipe p1; + QxtPipe p2; + p1.connect(&p2,QIODevice::WriteOnly); + + p1.write("hi"); + QVERIFY(p1.bytesAvailable()==0); + QVERIFY(p2.readAll()=="hi"); + + p2.write("rehi"); + QVERIFY(p1.bytesAvailable()==0); + QVERIFY(p2.bytesAvailable()==0); + } +}; + +QTEST_MAIN(QxtPipeTest) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/pipe/pipe.pro b/src/contrib/libqxt-2007-10-24/tests/pipe/pipe.pro new file mode 100644 index 00000000..9a4bb8d6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/pipe/pipe.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG+=QXT qtestlib +QXT+=network +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/rpc/main.cpp b/src/contrib/libqxt-2007-10-24/tests/rpc/main.cpp new file mode 100644 index 00000000..e54b7281 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/rpc/main.cpp @@ -0,0 +1,108 @@ +/** ***** QxtRPCPeer loopback test ******/ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class RPCTest: public QObject +{ + Q_OBJECT +private: + QxtRPCPeer* peer; +signals: + void wave(QString); + void counterwave(QString); + void networkedwave(quint64,QString); + + +private slots: + void initTestCase() + {} + + + + void loopback() + { + QxtFifo io; + QxtRPCPeer peer(&io); + QVERIFY2(peer.attachSignal (this, SIGNAL( wave ( QString ) ) ),"cannot attach signal"); + QVERIFY2(peer.attachSlot ( SIGNAL( wave ( QString ) ),this, SIGNAL( counterwave(QString )) ),"cannot attach slot"); + + QSignalSpy spy(this, SIGNAL(counterwave(QString))); + QSignalSpy spyr(&io, SIGNAL(readyRead())); + + emit(wave("world")); + + QCoreApplication::processEvents (); + QCoreApplication::processEvents (); + + QVERIFY2 (spyr.count()> 0, "buffer not emitting readyRead" ); + + QVERIFY2 (spy.count()> 0, "no signal received" ); + QVERIFY2 (spy.count()< 2, "wtf, two signals received?" ); + + QList arguments = spy.takeFirst(); + QVERIFY2(arguments.at(0).toString()=="world","argument missmatch"); + } + void directcall() + { + QxtFifo io; + QxtRPCPeer peer(&io); + QVERIFY2(peer.attachSlot ( SIGNAL( wave ( QString ) ),this, SIGNAL( counterwave(QString )) ),"cannot attach slot"); + + QSignalSpy spy(this, SIGNAL(counterwave(QString))); + QSignalSpy spyr(&io, SIGNAL(readyRead())); + peer.call(SIGNAL(wave ( QString ) ),QString("world")); + + QCoreApplication::processEvents (); + QCoreApplication::processEvents (); + + + QVERIFY2 (spyr.count()> 0, "buffer not emitting readyRead" ); + + QVERIFY2 (spy.count()> 0, "no signal received" ); + QVERIFY2 (spy.count()< 2, "wtf, two signals received?" ); + + QList arguments = spy.takeFirst(); + QVERIFY2(arguments.at(0).toString()=="world","argument missmatch"); + } + + void TcpServerIo() + { + QxtRPCPeer server(QxtRPCPeer::Server); + QVERIFY2(server.attachSlot (SIGNAL(wave(QString)),this,SIGNAL(networkedwave(quint64,QString))),"cannot attach slot"); + + + QVERIFY(server.listen (QHostAddress::LocalHost, 23444)); + + + QxtRPCPeer client(QxtRPCPeer::Client); + client.connect (QHostAddress::LocalHost, 23444); + QVERIFY(qobject_cast(client.socket())->waitForConnected ( 30000 )); + + + QSignalSpy spy(this, SIGNAL(networkedwave(quint64,QString))); + client.call(SIGNAL(wave(QString)),QString("world")); + + + QCoreApplication::processEvents (); + QCoreApplication::processEvents (); + QCoreApplication::processEvents (); + + QVERIFY2 (spy.count()> 0, "no signal received" ); + QVERIFY2 (spy.count()< 2, "wtf, two signals received?" ); + + QList arguments = spy.takeFirst(); + QVERIFY2(arguments.at(1).toString()=="world","argument missmatch"); + } + void cleanupTestCase() + {} +}; + +QTEST_MAIN(RPCTest) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/rpc/rpc.pro b/src/contrib/libqxt-2007-10-24/tests/rpc/rpc.pro new file mode 100644 index 00000000..7bc89763 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/rpc/rpc.pro @@ -0,0 +1,7 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG+=qxt qtestlib +QXT+=network +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tests/slotjob/main.cpp b/src/contrib/libqxt-2007-10-24/tests/slotjob/main.cpp new file mode 100644 index 00000000..4cc4d093 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/slotjob/main.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +class Q43Thread : public QThread{public:void run(){exec();}}; /// qt < 4.3 backwards compatibility + +#include +#include + + +class Bla : public QObject +{ +Q_OBJECT +public slots: + QString say(QString a) + { + qDebug()< +#include +#include +#include +#include +class test : public QxtWebController + { + Q_OBJECT + public: + test():QxtWebController("root") + { + } + + public slots: + + int index() + { + QTimer::singleShot(20,this,SLOT(async())); + echo()<<"foo"; + return 2; + } + private slots: + + void async() + { + QxtWebCore::send("bar"); + QxtWebCore::close(); + } + + }; + +class err : public QxtWebController + { + Q_OBJECT + public: + err():QxtWebController("error") + { + } + + public slots: + + int index(QString a=QString("500"),QString b=QString(),QString c=QString(),QString d=QString(), + QString e=QString(),QString f=QString(),QString g=QString()) + { + echo()<<"shits
    " + "error "<" + <" + <" + <" + <" + <" + <"; + return 0; + } + + }; + + + + + +int main(int argc, char *argv[]) + { + QCoreApplication app(argc, argv); + QxtWebCore core(new QxtScgiConnector()); + core.start(4000); + test t; + err e; + return app.exec(); + } + + +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/web/async/web.pro b/src/contrib/libqxt-2007-10-24/tests/web/async/web.pro new file mode 100644 index 00000000..8eb10023 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/async/web.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp + +CONFIG+=qxt +QXT+=web diff --git a/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/htmltemplate.pro b/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/htmltemplate.pro new file mode 100644 index 00000000..4e013419 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/htmltemplate.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp +CONFIG+=qxt qtestlib +QXT+=web + diff --git a/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/main.cpp b/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/main.cpp new file mode 100644 index 00000000..34d57cbd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/htmltemplate/main.cpp @@ -0,0 +1,32 @@ +#include +#include +#include +class Test: public QObject +{ +Q_OBJECT +private slots: + void simple() + { + QxtHtmlTemplate t; + t.load(""); + t["foo"]="bla"; + QVERIFY(t.render()=="bla"); + } + void surounded() + { + QxtHtmlTemplate t; + t.load("123456789123456789"); + t["foo"]="heyJO"; + QVERIFY(t.render()=="123456789heyJO123456789"); + } + void indented() + { + QxtHtmlTemplate t; + t.load("\n "); + t["foo"]="baz\nbar"; + QVERIFY(t.render()=="\n baz\n bar"); + } +}; + +QTEST_MAIN(Test) +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/web/invoketest/main.cpp b/src/contrib/libqxt-2007-10-24/tests/web/invoketest/main.cpp new file mode 100644 index 00000000..cd1dd300 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/invoketest/main.cpp @@ -0,0 +1,69 @@ +#include +#include +#include +#include +class test : public QxtWebController + { + Q_OBJECT + public: + test():QxtWebController("root") + { + } + + public slots: + + int index() + { + echo()<<"foo"; + return 0; + } + int index(QString a, QString b=QString("default"), QString c=QString("default2")) + { + echo()<<"a: "< b: "< c: "<" + "error "<" + <" + <" + <" + <" + <" + <"; + return 0; + } + + }; + + + + + +int main(int argc, char *argv[]) + { + QCoreApplication app(argc, argv); + QxtWebCore core(new QxtScgiConnector()); + core.start(4000); + test t; + err e; + return app.exec(); + } + + +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/web/invoketest/web.pro b/src/contrib/libqxt-2007-10-24/tests/web/invoketest/web.pro new file mode 100644 index 00000000..8eb10023 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/invoketest/web.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp + +CONFIG+=qxt +QXT+=web diff --git a/src/contrib/libqxt-2007-10-24/tests/web/upload/main.cpp b/src/contrib/libqxt-2007-10-24/tests/web/upload/main.cpp new file mode 100644 index 00000000..36f461ec --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/upload/main.cpp @@ -0,0 +1,53 @@ +#include +#include +#include +#include +#include +class test : public QxtWebController +{ +Q_OBJECT +public: + test():QxtWebController("root") + { + } + +public slots: + + int index() + { + echo()<< + "
    " + "File to upload:
    " + "Notes about the file:
    " + "
    " + " to upload the file!" + "
    "; + return 0; + } + int upload() + { + + QByteArray d= QxtWebCore::content(100000000); + QxtWebCore::sendHeader(); + + QByteArray io; + QxtWebCore::socket()->write(d); + return 0; + } +}; + + + + + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + QxtWebCore core(new QxtFcgiConnector()); + core.start(); + test t; + return app.exec(); +} + + +#include "main.moc" diff --git a/src/contrib/libqxt-2007-10-24/tests/web/upload/web.pro b/src/contrib/libqxt-2007-10-24/tests/web/upload/web.pro new file mode 100644 index 00000000..8eb10023 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tests/web/upload/web.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +SOURCES += main.cpp + +CONFIG+=qxt +QXT+=web diff --git a/src/contrib/libqxt-2007-10-24/tools/doqsy/doqsy.pro b/src/contrib/libqxt-2007-10-24/tools/doqsy/doqsy.pro new file mode 100644 index 00000000..a334459f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tools/doqsy/doqsy.pro @@ -0,0 +1,9 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +CONFIG+=qxt debug +QT+=xml +QXT+=core web +# Input +SOURCES += main.cpp diff --git a/src/contrib/libqxt-2007-10-24/tools/doqsy/main.cpp b/src/contrib/libqxt-2007-10-24/tools/doqsy/main.cpp new file mode 100644 index 00000000..0647bb62 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/tools/doqsy/main.cpp @@ -0,0 +1,760 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +struct Module; +struct Class +{ + QString name; + QString ref; + + QString desc; + + Module * module; + +}; +struct Module +{ + QString name; + QString ref; + + QString desc; + + + QList classes; +}; + + +bool sortClassBynameLessThen(const Class *s1, const Class *s2) +{ + return s1->name < s2->name; +} +bool sortModuleBynameLessThen(const Module *s1, const Module *s2) +{ + return s1->name < s2->name; +} + + + + +///information collected from the xml files +QList classes; +QList publiclasses; +QList modules; + +///settings +QString outputDir; +QString templateDir; +QString xmlDir; + + + + +Class * findClassByRef(QString ref) +{ + foreach(Class * c,classes) + { + if (c->ref==ref) + return c; + } + qFatal("ref %s invalid",qPrintable(ref)); + return 0; +} + + + + + + + +QString refToLink( QString ref) +{ + QStringList e=ref.split("_"); + + QString object=e.at(0); + QString sub; + if(e.count()>1) + sub=e.at(1); + + + + ///FIXME that's a dirty hack. Might not actualy be sane + ///TODO external reference resolving + if (!object.contains("Qxt")) + { + object="http://doc.trolltech.com/latest/"+object; + + if (sub.startsWith("1")) + sub=sub.mid(1); + } + + + if(sub.size()) + return object+".html#"+sub; + else + return object+".html"; +} + + + + + + + +QString descRTF(QDomElement element) +{ + ///TODO parse the rest + + + + + QString text; + + + for(QDomNode n = element.firstChild(); !n.isNull(); n = n.nextSibling()) + { + if (n.isElement ()) + { + QDomElement e= n.toElement(); + if(e.tagName ()=="para") + { + text += "

    "+descRTF(e)+"

    "; + } + else if(e.tagName ()=="programlisting") + { + text += "
    "+descRTF(e)+"
    "; + } + else if(e.tagName ()=="codeline") + { + text += descRTF(e)+"
    \r\n"; + } + else if(e.tagName ()=="highlight") + { + text += ""+descRTF(e)+""; + } + else if(e.tagName ()=="ref") + { + ///ignore namespaces, we don't have them + if(e.attribute("refid").startsWith("namespace")) + text +=descRTF(e); + else + text += ""+descRTF(e)+""; + } + else if(e.tagName ()=="image") + { + QString s=descRTF(e); + text += ""; + text += "
    \""+s+"\"
    "+s+"
    "; + } + else if(e.tagName ()=="linebreak") + { + text += "
    \r\n"; + } + else + { + text += e.text().replace("<","<").replace(">",">")+" "; + } + } + else if (n.isText ()) + { + text += n.toText().data().replace("<","<").replace(">",">"); + } + } + return text; +} + + + + + + +///fill classes and modules globals +void parseIndex(QString location) +{ + + + QDomDocument doc("doc"); + QFile file(location+"/index.xml"); + if (!file.open(QIODevice::ReadOnly)) + qFatal("cannot open file"); + QString errorMsg; + int errorLine=0; + int errorColumn=0; + + if (!doc.setContent(&file,&errorMsg,&errorLine,&errorColumn)) + { + qCritical("%s:%i:%i %s",qPrintable(location+"/index.xml"),errorLine,errorColumn,qPrintable(errorMsg)); + } + file.close(); + + QDomElement docElem = doc.documentElement(); + if(docElem.tagName ()!="doxygenindex") + qFatal("unexpected top node in %s",qPrintable(location+"/index.xml")); + + + QDomElement e = docElem.firstChildElement("compound"); + while(!e.isNull()) + { + if (e.attribute("kind")=="class") + { + Class * cl=new Class; + cl->module=0; + cl->name=e.firstChildElement("name").text(); + cl->ref=e.attribute("refid"); + classes.append(cl); + } + else if (e.attribute("kind")=="group") + { + Module * cl=new Module; + cl->name=e.firstChildElement("name").text(); + cl->ref=e.attribute("refid"); + modules.append(cl); + } + else + { + qWarning("no way to document %s",qPrintable(e.attribute("kind"))); + } + e = e.nextSiblingElement("compound"); + } + +} + + + +void parseModule(QString location,Module *m) +{ + QDomDocument doc("doc"); + QString filename=location+"/"+m->ref+".xml"; + + QFile file(filename); + if (!file.open(QIODevice::ReadOnly)) + qFatal("cannot open file %s",qPrintable(filename)); + QString errorMsg; + int errorLine=0; + int errorColumn=0; + + if (!doc.setContent(&file,&errorMsg,&errorLine,&errorColumn)) + { + qCritical("%s:%i:%i %s",qPrintable(filename),errorLine,errorColumn,qPrintable(errorMsg)); + } + file.close(); + + QDomElement docElem = doc.documentElement(); + QDomElement def = docElem.firstChildElement("compounddef"); + if(def.attribute("id")!=m->ref) + qFatal("combound def %s not expected in %s",qPrintable(def.attribute("id")),qPrintable(filename)); + + + + m->desc=descRTF(def.firstChildElement("detaileddescription")); + + + + QDomElement e = def.firstChildElement("innerclass"); + while(!e.isNull()) + { + if (e.attribute("prot")=="public") + { + Class * cll=findClassByRef(e.attribute("refid")); + m->classes.append(cll); + cll->module=m; + } + else + { + qWarning("non public member in %s",qPrintable(m->ref)); + } + e = e.nextSiblingElement("innerclass"); + } + +} + + +QString printPublicClasses() +{ + + QxtHtmlTemplate t; + if(!t.open(templateDir+"/classes.html"))qFatal("cannot open template"); + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/classes-unroll.html"))qFatal("cannot open template"); + + + uint trs=classes.count()/4; + QHash rowstring; + uint cr=1; + + QString lastChar=" "; + foreach(Class * cl,publiclasses) + { + if (cl->name.count()<3)qFatal("bad class name %s",qPrintable(cl->name)); + + + if(cl->name.at(3)!=lastChar.at(0)) + { + lastChar=cl->name.at(3); + rowstring[cr]+=""+lastChar+""; + cr++; + if(cr>trs) + cr=1; + } + + t_i.clear(); + t_i["name"]=cl->name; + t_i["link"]=refToLink(cl->ref); + + rowstring[cr]+=t_i.render(); + cr++; + if(cr>trs) + cr=1; + } + + foreach(QString rowstr, rowstring.values()) + { + t["unroll"]+="\r\n"+rowstr+"\r\n\r\n"; + } + return t.render();; +} + + + + + + +QString printModules() +{ + QxtHtmlTemplate t; + if(!t.open(templateDir+"/modules.html"))qFatal("cannot open template"); + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/modules-unroll.html"))qFatal("cannot open template"); + + + int i=0; + + + foreach(Module * cl,modules) + { + i++; + t_i.clear(); + t_i["iseven"]=QString::number(i%2); + t_i["name"]=cl->name; + t_i["link"]=cl->ref+".html"; + t_i["desc"]=cl->desc; + t["unroll"]+=t_i.render(); + } + return t.render();; +} + + + + + + + + +QString printClass(QString location,Class * cl) +{ + QDomDocument doc("doc"); + QString filename=location+"/"+cl->ref+".xml"; + + QFile file(filename); + + if (!file.open(QIODevice::ReadOnly)) + qFatal("cannot open file %s",qPrintable(filename)); + + QString errorMsg; + int errorLine=0; + int errorColumn=0; + + if (!doc.setContent(&file,&errorMsg,&errorLine,&errorColumn)) + { + qCritical("%s:%i:%i %s",qPrintable(filename),errorLine,errorColumn,qPrintable(errorMsg)); + return QString("%1:%2:%3 %4").arg(filename).arg(errorLine) + .arg(errorColumn).arg(errorMsg); + } + file.close(); + + QDomElement docElem = doc.documentElement(); + if(docElem.tagName ()!="doxygen") + qFatal("unexpected top node in %s",qPrintable(filename)); + QDomElement def = docElem.firstChildElement("compounddef"); + + + + QxtHtmlTemplate t; + if(!t.open(templateDir+"/class.html"))qFatal("cannot open template"); + + + + + ///name + t["class_name"]=def.firstChildElement("compoundname").text(); + t["ref"]=def.attribute("id"); + + if(cl->module) + { + t["module_name"]=cl->module->name; + t["module_link"]=cl->module->ref+".html"; + } + else + qWarning("class %s has no module defined",qPrintable(cl->name)); + + + + + ///description + cl->desc=def.firstChildElement("briefdescription").text(); + t["desc_short"]=cl->desc; + t["desc_detailed"]=descRTF(def.firstChildElement("detaileddescription")); + + + + ///inherits + t["inherits"]=""; + QDomElement basecompoundref =def.firstChildElement("basecompoundref"); + if(!basecompoundref.isNull()) + { + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/class-unroll-inherits.html"))qFatal("cannot open template"); + t_i["name"]=basecompoundref.text(); + t_i["link"]=refToLink(basecompoundref.attribute("refid")); + t["inherits"]=t_i.render(); + } + + + + ///sections + t["sections"]=""; + QxtHtmlTemplate t_section,t_members_unroll,t_impl; + if(!t_section.open(templateDir+"/class-section.html"))qFatal("cannot open template"); + if(!t_members_unroll.open(templateDir+"/class-section-unroll.html"))qFatal("cannot open template"); + if(!t_impl.open(templateDir+"/class-impl.html"))qFatal("cannot open template"); + + QDomElement sectiondef=def.firstChildElement("sectiondef"); + while(!sectiondef.isNull()) + { + if(sectiondef.attribute("kind").startsWith("private"))///skip private stuff + { + sectiondef = sectiondef.nextSiblingElement("sectiondef"); + continue; + } + + + t_section.clear(); + + t_section["kind"]=sectiondef.attribute("kind"); + t_section["desc"]=sectiondef.attribute("kind"); ///TODO: map kind to desc + + + + + qDebug()<<"parsing section "<1) + t_impl["ref"]=lii.at(1); + else + t_impl["ref"]=lii.at(0); + + t_impl["name"]=member.firstChildElement("name").text(); + t_impl["signature"]=member.firstChildElement("argsstring").text(); + t_impl["type"]=member.firstChildElement("type").text(); + t_impl["desc"]=descRTF(member.firstChildElement("detaileddescription")); + + + t["impl"]+=t_impl.render(); + + member = member.nextSiblingElement("memberdef"); + } + + + t["sections"]+=t_section.render(); + + sectiondef = sectiondef.nextSiblingElement("sectiondef"); + } + + + return t.render(); +} + + + + + + + +QString printModule(Module * m) +{ + QxtHtmlTemplate t; + if(!t.open(templateDir+"/module.html"))qFatal("cannot open template"); + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/modules-unroll.html"))qFatal("cannot open template"); + + t["name"]+=m->name; + t["desc"]+=m->desc; + + int i=0; + qSort(m->classes.begin(), m->classes.end(), sortClassBynameLessThen); + foreach(Class * cl,m->classes) + { + i++; + t_i.clear(); + t_i["iseven"]=QString::number(i%2); + t_i["name"]=cl->name; + t_i["link"]=cl->ref+".html"; + t_i["desc"]=cl->desc; + t["unroll"]+=t_i.render(); + } + return t.render();; +} + + + + + +QString printListOfMembers(QString location,Class * cl) +{ + QDomDocument doc("doc"); + QFile file(location+"/"+cl->ref+".xml"); + if (!file.open(QIODevice::ReadOnly)) + qFatal("cannot open file %s",qPrintable(location+"/"+cl->ref+".xml")); + QString errorMsg; + int errorLine=0; + int errorColumn=0; + + if (!doc.setContent(&file,&errorMsg,&errorLine,&errorColumn)) + { + qCritical("%s:%i:%i %s",qPrintable(location+"/"+cl->ref+".xml"),errorLine,errorColumn,qPrintable(errorMsg)); + return QString("%1:%2:%3 %4").arg(location+"/index.xml").arg(errorLine) + .arg(errorColumn).arg(errorMsg); + } + file.close(); + + QDomElement docElem = doc.documentElement(); + if(docElem.tagName ()!="doxygen") + qFatal("unexpected top node in %s",qPrintable(location+"/"+cl->ref+".xml")); + QDomElement def = docElem.firstChildElement("compounddef"); + + + + QxtHtmlTemplate t; + if(!t.open(templateDir+"/class-members.html"))qFatal("cannot open template"); + + + ///name + t["class_name"]=def.firstChildElement("compoundname").text(); + t["ref"]=def.attribute("id"); + + ///list + QDomElement list =def.firstChildElement("listofallmembers"); + t["list"]=""; + + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/class-members-unroll.html")) + qFatal("cannot open template"); + + + QDomElement member=list.firstChildElement("member"); + while(!member.isNull()) + { + if(member.attribute("prot")=="private")///skip private members + { + member = member.nextSiblingElement("memberdef"); + continue; + } + + + + t_i.clear(); + t_i["name"]=member.firstChildElement("name").text(); + t_i["link"]=refToLink(member.attribute("refid")); + t["list"]+=t_i.render(); + member = member.nextSiblingElement("member"); + } + + return t.render(); +} + + + + + + + +void wrapToFile(QString filename,QString content) +{ + + QxtHtmlTemplate site; + if(!site.open(templateDir+"/site.html"))qFatal("cannot open template"); + site["content"]=content; + + QFile file(outputDir+"/"+filename); + if (!file.open(QIODevice::WriteOnly)) + qFatal("cannot open output file %s",qPrintable(filename)); + + file.write(site.render().toUtf8()); + + file.close(); +} + + + + + + +int main(int argc,char ** argv) +{ + + QCoreApplication app(argc,argv); + qDebug("[greetings]"); + + + QString settingsfile="Doqsyfile"; + + + if(app.arguments().count()>1) + { + settingsfile=app.arguments().at(1); + } + + if(!QFileInfo(settingsfile).exists()) + qFatal("cannot open %s",qPrintable(settingsfile)); + + if (!QDir::setCurrent (QFileInfo(settingsfile).absolutePath ())) + qFatal("unable to change working directory to %s",qPrintable(QFileInfo(settingsfile).absolutePath ())); + + QSettings settings(settingsfile,QSettings::IniFormat); + settings.beginGroup ("doqsy"); + outputDir=settings.value("output","doc").toString(); + templateDir=settings.value("templates","templates").toString(); + QString doxyexe=settings.value("doxygen","doxygen").toString(); + + + + QDir().mkpath(outputDir); + settings.endGroup(); + + + + if(!QDir::temp().mkpath("doqsytmp")) + qFatal("cannot make temp dir"); + xmlDir=QDir::tempPath()+"doqsytmp"; + + + + + + QString doxygeninput; + + settings.beginGroup ("doxygen"); + foreach(QString key,settings.allKeys()) + { + doxygeninput+=(key+"="+settings.value(key).toString()+"\r\n"); + } + settings.endGroup(); + + doxygeninput+= "XML_OUTPUT = "+xmlDir+"\r\n" + "OUTPUT_DIRECTORY = "+QDir::tempPath()+"\r\n" + "GENERATE_XML = YES\r\n"; + + + + qDebug("[running doxygen]"); + + + QProcess doxygenprocess; + + doxygenprocess.setProcessChannelMode(QProcess::ForwardedChannels); + + doxygenprocess.setWorkingDirectory (QDir().absolutePath ()); + + doxygenprocess.start (doxyexe,QStringList()<<"-"); + + if(!doxygenprocess.waitForStarted ()) + qFatal("doxygen failed to start"); + + doxygenprocess.write(doxygeninput.toUtf8()); + + doxygenprocess.closeWriteChannel(); + + if(!doxygenprocess.waitForFinished (120000)) + qFatal("doxygen failed to finish within 2 minutes"); + + if(doxygenprocess.exitCode ()) + qFatal("doxygen run unsecussfull"); + + + qDebug("[beginn parsing]"); + + parseIndex(xmlDir); + + + qSort(classes.begin(), classes.end(), sortClassBynameLessThen); + qSort(modules.begin(), modules.end(), sortModuleBynameLessThen); + + foreach(Module * m,modules) + { + qDebug()<<"parsing module"<ref; + parseModule(xmlDir,m); + publiclasses+=m->classes; + } + + wrapToFile("modules.html",printModules()); + + qSort(publiclasses.begin(), publiclasses.end(), sortClassBynameLessThen); + wrapToFile("classes.html",printPublicClasses()); + + + + + + foreach(Class * c,classes) + { + qDebug()<<"parsing class "<name; + wrapToFile(c->ref+".html",printClass(xmlDir,c)); + wrapToFile(c->ref+"-members.html",printListOfMembers(xmlDir,c)); + } + + foreach(Module * m,modules) + { + wrapToFile(m->ref+".html",printModule(m)); + } + + + + + QxtHtmlTemplate t_i; + if(!t_i.open(templateDir+"/index.html")) + qFatal("cannot open template"); + + wrapToFile("index.html",t_i.render()); + qDebug("[done]"); + return 0; +} + diff --git a/src/contrib/qxt/AUTHORS b/src/contrib/qxt/AUTHORS deleted file mode 100644 index 4e4a445b..00000000 --- a/src/contrib/qxt/AUTHORS +++ /dev/null @@ -1,15 +0,0 @@ -==Main Contributers (aka Project-Members)== - -Adam Higerd -J-P Nurmi -Arvid Picciani - -==Project Management== - -Arvid Picciani -Adam Higerd - -==Minor Contributions== - -Igor Ulyanov -Bjoern Erik Nilsen diff --git a/src/contrib/qxt/LGPL b/src/contrib/qxt/LGPL deleted file mode 100644 index 5ab7695a..00000000 --- a/src/contrib/qxt/LGPL +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/src/contrib/qxt/README b/src/contrib/qxt/README deleted file mode 100644 index 47fcd5af..00000000 --- a/src/contrib/qxt/README +++ /dev/null @@ -1,4 +0,0 @@ -This directory contains some files from the Qt Extension Library Project, -which can be found at . We have taken the liberty -of not copying the whole Qxt source into the Quassel tree, but only the parts -we need, specifically we are using QxtRPCPeer within Quassel IRC. diff --git a/src/contrib/qxt/qxt.pri b/src/contrib/qxt/qxt.pri deleted file mode 100644 index fa687831..00000000 --- a/src/contrib/qxt/qxt.pri +++ /dev/null @@ -1,4 +0,0 @@ -DEPMOD = -QT_MOD = core network -SRCS += qxtmetaobject.cpp qxtnull.cpp qxtrpcpeer.cpp -HDRS += qxtboundfunction.h qxtboundfunctionbase.h qxtglobal.h qxtmetaobject.h qxtnullable.h qxtnull.h qxtpimpl.h qxtrpcpeer.h diff --git a/src/contrib/qxt/qxt.pro b/src/contrib/qxt/qxt.pro deleted file mode 100644 index 5b2b89e6..00000000 --- a/src/contrib/qxt/qxt.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES+=qxtmetaobject.cpp qxtnull.cpp qxtrpcpeer.cpp -HEADERS+=qxtboundfunction.h qxtboundfunctionbase.h qxtglobal.h qxtmetaobject.h qxtnullable.h qxtnull.h qxtpimpl.h qxtrpcpeer.h diff --git a/src/contrib/qxt/qxtboundcfunction.h b/src/contrib/qxt/qxtboundcfunction.h deleted file mode 100644 index 02ba5961..00000000 --- a/src/contrib/qxt/qxtboundcfunction.h +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) Qxt Foundation. Some rights reserved. -** -** This file is part of the QxtCore module of the Qt eXTension library -** -** This library is free software; you can redistribute it and/or modify it -** under the terms of th Common Public License, version 1.0, as published by -** IBM. -** -** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY -** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR -** FITNESS FOR A PARTICULAR PURPOSE. -** -** You should have received a copy of the CPL along with this file. -** See the LICENSE file and the cpl1.0.txt file included with the source -** distribution for more information. If you did not receive a copy of the -** license, contact the Qxt Foundation. -** -** -** -****************************************************************************/ - -#ifndef QXTBOUNDCFUNCTION_H -#define QXTBOUNDCFUNCTION_H - -#include -#include -#include -#include -#include -#include -#include -/* -template -class QxtBoundCFunction : public QxtBoundFunctionBase { -public: - FUNCTION funcPtr; - - QxtBoundCFunction(QObject* parent, FUNCTION funcPointer, QGenericArgument* params[argc], QByteArray types[argc]) : QxtBoundFunctionBase(parent, params, types), funcPtr(funcPointer) { - // initializers only, thanks to template magic - } - - virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_IMPL_10ARGS(QGenericArgument)) { - return qxt_invoke_cfunction_return(funcPtr, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } -}; - -template -class QxtBoundCFunction : public QxtBoundFunctionBase { -public: - FUNCTION funcPtr; - - QxtBoundCFunction(QObject* parent, FUNCTION funcPointer, QGenericArgument* params[argc], QByteArray types[argc]) : QxtBoundFunctionBase(parent, params, types), funcPtr(funcPointer) { - // initializers only, thanks to template magic - } - - virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_IMPL_10ARGS(QGenericArgument)) { - return qxt_invoke_cfunction(funcPtr, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } -}; - -QGenericArgument* qbcfP[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -QByteArray types[10] = { "", "", "", "", "", "", "", "", "", "" }; - -void testFunction(int a) { a++; return; } -template < typename FP > QxtBoundFunction* testBind(FP fn) { return new QxtBoundCFunction(0, fn, qbcfP, types); } -QxtBoundCFunction qbcf(0, testFunction, qbcfP, types); -QxtBoundFunction* qbf = testBind(testFunction); -*/ -#endif diff --git a/src/contrib/qxt/qxtboundfunction.h b/src/contrib/qxt/qxtboundfunction.h deleted file mode 100644 index 2c0e6444..00000000 --- a/src/contrib/qxt/qxtboundfunction.h +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) Qxt Foundation. Some rights reserved. -** -** This file is part of the QxtCore module of the Qt eXTension library -** -** This library is free software; you can redistribute it and/or modify it -** under the terms of th Common Public License, version 1.0, as published by -** IBM. -** -** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY -** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR -** FITNESS FOR A PARTICULAR PURPOSE. -** -** You should have received a copy of the CPL along with this file. -** See the LICENSE file and the cpl1.0.txt file included with the source -** distribution for more information. If you did not receive a copy of the -** license, contact the Qxt Foundation. -** -** -** -****************************************************************************/ - -#ifndef QXTBOUNDFUNCTION_H -#define QXTBOUNDFUNCTION_H - -#include -#include -#include -#include -#include -#include - -class QxtBoundFunction : public QObject -{ - Q_OBJECT -public: - template - inline QxtNullable invoke(QXT_PROTO_10ARGS(QVariant)) - { - if (QThread::currentThread() == parent()->thread()) - return invoke(Qt::DirectConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); -#if QT_VERSION >= 0x040300 - return invoke(Qt::BlockingQueuedConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); -#else - qWarning() << "QxtBoundFunction::invoke: Cannot return a value using a queued connection"; - return QxtNull(); -#endif - } - - template - QxtNullable invoke(Qt::ConnectionType type, QXT_PROTO_10ARGS(QVariant)) - { - if (type == Qt::QueuedConnection) - { - qWarning() << "QxtBoundFunction::invoke: Cannot return a value using a queued connection"; - return qxtNull; - } - T retval; - // I know this is a totally ugly function call - if (invoke(type, QGenericReturnArgument(qVariantFromValue(*reinterpret_cast(0)).typeName(), reinterpret_cast(&retval)), - p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)) - { - return retval; - } - else - { - return qxtNull; - } - } - - inline bool invoke(QXT_PROTO_10ARGS(QVariant)) - { - return invoke(Qt::AutoConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } - bool invoke(Qt::ConnectionType, QXT_PROTO_10ARGS(QVariant)); - - inline bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) - { - return invoke(Qt::AutoConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } - inline bool invoke(Qt::ConnectionType type, QXT_PROTO_10ARGS(QGenericArgument)) { - return invoke(type, QGenericReturnArgument(), p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } - - inline bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QVariant)) - { - return invoke(Qt::AutoConnection, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } - bool invoke(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QVariant)); - - inline bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) - { - return invoke(Qt::AutoConnection, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); - } - bool invoke(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)); - -protected: - QxtBoundFunction(QObject* parent = 0); - virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) = 0; -}; - -#endif diff --git a/src/contrib/qxt/qxtmetaobject.h b/src/contrib/qxt/qxtmetaobject.h deleted file mode 100644 index 02adaae7..00000000 --- a/src/contrib/qxt/qxtmetaobject.h +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) Qxt Foundation. Some rights reserved. -** -** This file is part of the QxtCore module of the Qt eXTension library -** -** This library is free software; you can redistribute it and/or modify it -** under the terms of th Common Public License, version 1.0, as published by -** IBM. -** -** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY -** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR -** FITNESS FOR A PARTICULAR PURPOSE. -** -** You should have received a copy of the CPL along with this file. -** See the LICENSE file and the cpl1.0.txt file included with the source -** distribution for more information. If you did not receive a copy of the -** license, contact the Qxt Foundation. -** -** -** -****************************************************************************/ -#ifndef QXTMETAOBJECT_H -#define QXTMETAOBJECT_H - -#include -#include -#include -#include "qxtnullable.h" -class QByteArray; -class QxtBoundArgument; -class QxtBoundFunction; - -#define QXT_PROTO_10ARGS(T) T p1 = T(), T p2 = T(), T p3 = T(), T p4 = T(), \ - T p5 = T(), T p6 = T(), T p7 = T(), T p8 = T(), T p9 = T(), T p10 = T() -#define QXT_IMPL_10ARGS(T) T p1, T p2, T p3, T p4, T p5, T p6, T p7, T p8, T p9, T p10 -namespace QxtMetaObject -{ -QByteArray methodName(const char* method); -QByteArray methodSignature(const char* method); - -bool isSignalOrSlot (const char* method); - - -QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_PROTO_10ARGS(QVariant)); -QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_PROTO_10ARGS(QGenericArgument)); -template -QxtBoundFunction* bindFunction(FP funcPointer, QXT_PROTO_10ARGS(QGenericArgument)); -template -QxtBoundFunction* bindMethod(T recv, FP funcPointer, QXT_PROTO_10ARGS(QGenericArgument)); -bool connect(QObject* sender, const char* signal, QxtBoundFunction* slot, - Qt::ConnectionType type = Qt::AutoConnection); -} - -#define QXT_BIND(i) QGenericArgument("QxtBoundArgument", reinterpret_cast(i)) - -#endif // QXTMETAOBJECT_H diff --git a/src/core/core.pri b/src/core/core.pri index 32427c17..7f6c68f9 100644 --- a/src/core/core.pri +++ b/src/core/core.pri @@ -1,4 +1,4 @@ -DEPMOD = common contrib/qxt +DEPMOD = common QT_MOD = core network sql SRCS = core.cpp coresession.cpp server.cpp sqlitestorage.cpp storage.cpp basichandler.cpp ircserverhandler.cpp userinputhandler.cpp ctcphandler.cpp HDRS = core.h coresession.h server.h sqlitestorage.h storage.h basichandler.h ircserverhandler.h userinputhandler.h ctcphandler.h diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 12bd7205..8220669f 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -44,6 +44,7 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) : QMainWindow(parent), gui(_gui) { statusBar()->showMessage(tr("Waiting for core...")); serverListDlg = new ServerListDlg(this); settingsDlg = new SettingsDlg(this); + } void MainWin::init() { -- 2.20.1

    4S$mu29@Z^6Zu%)s|6`nf(Z1F>+p1@*E1bGG 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 KMNUMnLSTYcx3$9n literal 0 HcmV?d00001 diff --git a/src/contrib/libqxt-2007-10-24/extras/artwork/logo.png.svg b/src/contrib/libqxt-2007-10-24/extras/artwork/logo.png.svg new file mode 100644 index 00000000..060783f6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/extras/artwork/logo.png.svg @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Q + + + + Qt extension library + Q + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/extras/syntax_highlighting/kate/cpp.xml b/src/contrib/libqxt-2007-10-24/extras/syntax_highlighting/kate/cpp.xml new file mode 100644 index 00000000..51092bc8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/extras/syntax_highlighting/kate/cpp.xml @@ -0,0 +1,285 @@ + + + + + + asm + break + case + catch + class + const_cast + continue + default + delete + do + dynamic_cast + else + enum + explicit + export + extern + false + friend + for + goto + if + inline + namespace + new + operator + private + protected + public + qobject_cast + reinterpret_cast + return + sizeof + static_cast + struct + switch + template + this + throw + true + try + typedef + typeid + type_info + typename + union + using + virtual + while + + and + and_eq + bad_cast + bad_typeid + bitand + bitor + compl + not + not_eq + or + or_eq + xor + xor_eq + except + finally + xalloc + + + K_DCOP + SLOT + SIGNAL + Q_CLASSINFO + Q_ENUMS + Q_EXPORT + Q_OBJECT + Q_OVERRIDE + Q_PROPERTY + Q_SETS + Q_SIGNALS + Q_SLOTS + Q_FOREACH + Q_DECLARE_FLAGS + Q_INIT_RESOURCE + Q_CLEANUP_RESOURCE + Q_GLOBAL_STATIC + Q_GLOBAL_STATIC_WITH_ARGS + Q_DECLARE_INTERFACE + Q_DECLARE_TYPEINFO + Q_DECLARE_SHARED + Q_DECLARE_FLAGS + Q_DECLARE_OPERATORS_FOR_FLAGS + Q_FOREVER + Q_DECLARE_PRIVATE + Q_DECLARE_PUBLIC + Q_D + Q_Q + Q_DISABLE_COPY + Q_INTERFACES + Q_FLAGS + Q_SCRIPTABLE + Q_INVOKABLE + Q_GADGET + Q_ARG + Q_RETURN_ARG + Q_ASSERT + Q_ASSERT_X + TRUE + FALSE + connect + disconnect + emit + signals + slots + foreach + forever + + + SKIP + QXT_INIT_PRIVATE + QXT_DECLARE_PUBLIC + QXT_DECLARE_PRIVATE + BALL + QXT_DROP + QXT_DROP_OK + QXT_DROP_F + QXT_DROP_SCOPE + QXT_DROP_S + Qxt + + + auto + bool + char + const + double + float + int + long + mutable + register + short + signed + static + unsigned + void + volatile + uchar + uint + int8_t + int16_t + int32_t + int64_t + uint8_t + uint16_t + uint32_t + uint64_t + wchar_t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/features/macx/qxtbuild.prf b/src/contrib/libqxt-2007-10-24/features/macx/qxtbuild.prf new file mode 100644 index 00000000..1d7c5b49 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/features/macx/qxtbuild.prf @@ -0,0 +1,13 @@ +QXTINSTALLDIR=/usr/local/Qxt +include(../../config.pri) +isEmpty(target.path): target.path = /Library/Frameworks +isEmpty(docs.path): docs.path = $${QXTINSTALLDIR}/doc/libqxt +isEmpty(include.path): include.path = $${QXTINSTALLDIR}/include/Qxt +isEmpty(bin.path): bin.path = $${QXTINSTALLDIR}/bin +CONFIG += lib_bundle +FRAMEWORK_HEADERS.version = Versions +FRAMEWORK_HEADERS.files = $${HEADERS} +FRAMEWORK_HEADERS.path = HEADERS +QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS +QMAKE_LFLAGS += -F../../deploy/libs/ +include(../qxtbuild.prf) diff --git a/src/contrib/libqxt-2007-10-24/features/qxtbuild.prf b/src/contrib/libqxt-2007-10-24/features/qxtbuild.prf new file mode 100644 index 00000000..f5aea2cb --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/features/qxtbuild.prf @@ -0,0 +1,14 @@ +VERSION = 0.2.4 +incs.path = $${include.path}/$$TARGET/ + +contains(CONFIG,convenience){ + for(header,HEADERS){ + incs.files += $$header + } +} + +incs.files += ../../deploy/include/$${TARGET}/* +LIBS += -L../../deploy/libs/ + +INSTALLS = target incs +include(../../deploy/qt/qxt.prf) diff --git a/src/contrib/libqxt-2007-10-24/features/unix/bootstrap.prf b/src/contrib/libqxt-2007-10-24/features/unix/bootstrap.prf new file mode 100644 index 00000000..e17aeca9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/features/unix/bootstrap.prf @@ -0,0 +1,42 @@ +contains(CONFIG,convenience){ + + + +system( echo > ../../deploy/include/$${TARGET}/$${TARGET}) + + + + +for(part, ModuleBuild){ + mm= + for(ii, $${part}.interfaces){ + mm+=$$ii + } + mm+=$${part} + + + for(i , mm ){ + incs.files+=$${i}.h + message(autogenerating C++ style includes for $${i}) + + system( echo " \\$${LITERAL_HASH}include \\\"$${part}.h\\\" " > ../../deploy/include/$${TARGET}/$${i}) + system( echo >> ../../deploy/include/$${TARGET}/$${i}) + + system( echo " \\$${LITERAL_HASH}include \\\"$${part}.h\\\" " >> ../../deploy/include/$${TARGET}/$${TARGET}) + + + + incs.files+=../../../deploy/include/$${TARGET}/$${i} + } + + + + } + + +system( echo >> ../../deploy/include/$${TARGET}/$${TARGET}) +incs.files+=../../../deploy/include/$${TARGET}/$${TARGET} + + +} + diff --git a/src/contrib/libqxt-2007-10-24/features/unix/qxtbuild.prf b/src/contrib/libqxt-2007-10-24/features/unix/qxtbuild.prf new file mode 100644 index 00000000..959be867 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/features/unix/qxtbuild.prf @@ -0,0 +1,7 @@ +QXTINSTALLDIR = /usr +include(../../config.pri) +isEmpty(target.path): target.path = $${QXTINSTALLDIR}/lib +isEmpty(docs.path): docs.path = $${QXTINSTALLDIR}/share/doc/libqxt +isEmpty(include.path): include.path = $${QXTINSTALLDIR}/include/Qxt +isEmpty(bin.path): bin.path = $${QXTINSTALLDIR}/bin +include(../qxtbuild.prf) diff --git a/src/contrib/libqxt-2007-10-24/features/win32/qxtbuild.prf b/src/contrib/libqxt-2007-10-24/features/win32/qxtbuild.prf new file mode 100644 index 00000000..5c5bb7e0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/features/win32/qxtbuild.prf @@ -0,0 +1,9 @@ +QXTINSTALLDIR = C:\libqxt +include(../../config.pri) +isEmpty(target.path): target.path = $${QXTINSTALLDIR}/lib +isEmpty(docs.path): docs.path = $${QXTINSTALLDIR}/doc/libqxt +isEmpty(include.path): include.path = $${QXTINSTALLDIR}/include/Qxt +isEmpty(bin.path): bin.path = $${QXTINSTALLDIR}/bin +CONFIG += dll +DEFINES += QXT_WINDOWS +include(../qxtbuild.prf) diff --git a/src/contrib/libqxt-2007-10-24/libqxt.pro b/src/contrib/libqxt-2007-10-24/libqxt.pro new file mode 100644 index 00000000..9962e7cd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/libqxt.pro @@ -0,0 +1,73 @@ +# +# Qxt main project file +# +# Do not edit this file. +# Use config.pri to specify compile options. +# +unix:!macx:include(features/unix/qxtbuild.prf) +win32:include(features/win32/qxtbuild.prf) +macx:include(features/macx/qxtbuild.prf) + +TEMPLATE = subdirs +DESTDIR = deploy/libs + + +docs.files = deploy/docs/* +#docs.commands = assistant -addContentFile $${docs.path}/index.dcf + + +includes.path = $${include.path}/ +includes.files= deploy/include/* + +#write the paths to prf file +unix:system((echo QXTbase=$${QXTINSTALLDIR}; echo QXTinclude=$${include.path}; echo QXTbin=$${bin.path}; echo QXTlib=$${lib.path}; cat deploy/qt/qxt.prf.m) > deploy/qt/qxt.prf) + +#windows supports similar syntax +win32:system((echo QXTbase=$${QXTINSTALLDIR}& echo QXTinclude=$${include.path} & echo QXTbin=$${bin.path} & echo QXTlib=$${lib.path} & type deploy\qt\qxt.prf.m) > deploy\qt\qxt.prf) + +features.path = $$[QT_INSTALL_DATA]/mkspecs/features +features.files = deploy/qt/qxt.prf + +INSTALLS = docs includes features + + + +contains( QXT_BUILD, core ){ + message( building the core ) + SUBDIRS += src/core +} + + +contains( QXT_BUILD, gui ){ + message( building gui module ) + SUBDIRS += src/gui + contains( QXT_BUILD, designer ): SUBDIRS += src/designer +} + +contains( QXT_BUILD, network ){ + message( building network module ) + SUBDIRS += src/network +} + +contains( QXT_BUILD, sql ){ + message( building sql module ) + SUBDIRS += src/sql +} + +contains(DEFINES,HAVE_CURSES){ +contains( QXT_BUILD, curses ){ + message( building curses module ) + SUBDIRS += src/curses +} +} + + +contains( QXT_BUILD, web ){ + message( building web module ) + SUBDIRS += src/web +} +contains( QXT_BUILD, crypto ){ + message( building crypto module ) + SUBDIRS += src/crypto +} + diff --git a/src/contrib/libqxt-2007-10-24/src/core/core.pro b/src/contrib/libqxt-2007-10-24/src/core/core.pro new file mode 100644 index 00000000..29ba3c14 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/core.pro @@ -0,0 +1,61 @@ +TARGET = QxtCore +DESTDIR = ../../deploy/libs/ +DEPENDPATH += . +INCLUDEPATH += . +DEFINES += BUILD_QXT_CORE +win32: CONFIG += dll +QT = core +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +include(../../config.pri) + + +HEADERS += qxtcsvmodel.h \ + qxterror.h \ + qxtglobal.h \ + qxthypermacros.h \ + qxtmetaobject.h \ + qxtmetatype.h \ + qxtnamespace.h \ + qxtnull.h \ + qxtnullable.h \ + qxtpairList.h \ + qxtpimpl.h \ + qxtsemaphore.h \ + qxtsignalwaiter.h \ + qxttuple.h \ + qxttuplelist.h \ + qxttypelist.h \ + qxtfifo.h \ + qxtstdio.h \ + qxtfilelock_p.h\ + qxtfilelock.h\ + qxtboundfunction.h \ + qxtboundfunctionbase.h \ + qxtboundcfunction.h \ + qxtstdstreambufdevice.h \ + qxtjob.h \ + qxtjob_p.h \ + qxtslotjob.h \ + qxtslotjob_p.h \ + qxtpipe.h + +SOURCES += qxtcsvmodel.cpp \ + qxterror.cpp \ + qxtmetaobject.cpp \ + qxtsemaphore.cpp \ + qxtsignalwaiter.cpp \ + qxtfifo.cpp \ + qxtstdio.cpp\ + qxtfilelock.cpp \ + qxtnull.cpp \ + qxtstdstreambufdevice.cpp \ + qxtjob.cpp \ + qxtslotjob.cpp \ + qxtpipe.cpp + +unix: SOURCES += qxtfilelock_unix.cpp +win32: SOURCES += qxtfilelock_win.cpp diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtboundcfunction.h b/src/contrib/libqxt-2007-10-24/src/core/qxtboundcfunction.h new file mode 100644 index 00000000..03ea69c9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtboundcfunction.h @@ -0,0 +1,514 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTBOUNDCFUNCTION_H +#define QXTBOUNDCFUNCTION_H + +#include +#include +#include + +#ifndef QXT_DOXYGEN_RUN + +#define QXT_RETURN(fp) *reinterpret_cast(returnValue.data()) = (*reinterpret_cast(fp)) +#define QXT_INVOKE(fp) (*reinterpret_cast(fp)) +#define QXT_PARAM(i) *reinterpret_cast(p ## i .data()) + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8), QXT_PARAM(9), QXT_PARAM(10)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5, T6); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8)); + return true; + } +}; + +template +class qxt_cfunction_return : public QxtGenericFunctionPointer { +public: + typedef RETURN(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8, T9); + bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_RETURN (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8), QXT_PARAM(9)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8), QXT_PARAM(9), QXT_PARAM(10)); + return true; + } +}; + +template <> +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5, T6); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8)); + return true; + } +}; + +template +class qxt_cfunction : public QxtGenericFunctionPointer { +public: + typedef void(*FUNCTION)(T1, T2, T3, T4, T5, T6, T7, T8, T9); + bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) { + QXT_10_UNUSED; + QXT_INVOKE (funcPtr)(QXT_PARAM(1), QXT_PARAM(2), QXT_PARAM(3), QXT_PARAM(4), QXT_PARAM(5), QXT_PARAM(6), QXT_PARAM(7), QXT_PARAM(8), QXT_PARAM(9)); + return true; + } +}; + +template +class QxtBoundCFunction : public QxtBoundFunctionBase { +public: + QxtGenericFunctionPointer funcPtr; + + QxtBoundCFunction(QObject* parent, QxtGenericFunctionPointer funcPointer, QGenericArgument* params[10], QByteArray types[10]) : QxtBoundFunctionBase(parent, params, types), funcPtr(funcPointer) { + // initializers only, thanks to template magic + } + + virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_IMPL_10ARGS(QGenericArgument)) { + if(type != Qt::AutoConnection && type != Qt::DirectConnection) { + qWarning() << "WxtBoundCFunction::invoke: Cannot invoke non-Qt functions using a queued connection"; + return false; + } + return reinterpret_cast*>(&funcPtr)->invoke(returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } +}; + +template +class QxtBoundCFunction : public QxtBoundFunctionBase { +public: + QxtGenericFunctionPointer funcPtr; + + QxtBoundCFunction(QObject* parent, QxtGenericFunctionPointer funcPointer, QGenericArgument* params[10], QByteArray types[10]) : QxtBoundFunctionBase(parent, params, types), funcPtr(funcPointer) { + // initializers only, thanks to template magic + } + + virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_IMPL_10ARGS(QGenericArgument)) { + Q_UNUSED(returnValue); + if(type != Qt::AutoConnection && type != Qt::DirectConnection) { + qWarning() << "WxtBoundCFunction::invoke: Cannot invoke non-Qt functions using a queued connection"; + return false; + } + return reinterpret_cast*>(&funcPtr)->invoke(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } +}; + +#undef QXT_RETURN +#undef QXT_INVOKE +#undef QXT_PARAM +#endif + +namespace QxtMetaObject { +/** + * \relates QxtMetaObject + * \sa QxtMetaObject::connect + * \sa qxtFuncPtr + * \sa QxtBoundFunction + * \sa QXT_BIND + * + * Creates a binding to the provided C/C++ function using the provided parameter list. + * Use the qxtFuncPtr function to wrap a bare function pointer for use in this function. + * Use the Q_ARG macro to specify constant parameters, or use the QXT_BIND macro to + * relay a parameter from a connected signal or passed via the QxtBoundFunction::invoke() + * method. + * + * The first template parameter must match the return type of the function, or + * void if the function does not return a value. The remaining template parameters must + * match the types of the function's parameters. If any type does not match, this + * function returns NULL. + * + * The returned QxtBoundFunction will not have a parent. Assigning a parent using + * QObject::setParent() is strongly recommended to avoid memory leaks. + */ +template +QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QXT_IMPL_10ARGS(QGenericArgument)) { + // Make sure the template parameters make a function pointer equivalent to the one passed in + if(funcPointer.typeName != typeid(typename qxt_cfunction_return::FUNCTION).name()) { + qWarning() << "QxtMetaObject::bind: parameter list mismatch, check template arguments"; + return 0; + } + + QGenericArgument* args[10] = { &p1, &p2, &p3, &p4, &p5, &p6, &p7, &p8, &p9, &p10 }; + for (int i=0; i<10; i++) + { + if (args[i]->name() == 0) break; // done + if (QByteArray(args[i]->name()) == "QxtBoundArgument") + { + Q_ASSERT_X((quintptr)(args[i]->data()) > 0 && (quintptr)(args[i]->data()) <= 10, "QXT_BIND", "invalid argument number"); + } + } + + QByteArray types[10]; + types[0] = QxtMetaType::name(); + types[1] = QxtMetaType::name(); + types[2] = QxtMetaType::name(); + types[3] = QxtMetaType::name(); + types[4] = QxtMetaType::name(); + types[5] = QxtMetaType::name(); + types[6] = QxtMetaType::name(); + types[7] = QxtMetaType::name(); + types[8] = QxtMetaType::name(); + types[9] = QxtMetaType::name(); + + return new QxtBoundCFunction(0, funcPointer, args, types); +} + +/** + * \relates QxtMetaObject + * \sa QxtMetaObject::connect + * \sa qxtFuncPtr + * \sa QxtBoundFunction + * + * Creates a binding to the provided C/C++ function using the provided parameter list. + * Use the qxtFuncPtr function to wrap a bare function pointer for use in this function. + * The type of each argument is deduced from the type of the QVariant. This function + * cannot bind positional arguments; see the overload using QGenericArgument. + * + * The first template parameter must match the return type of the function, or + * void if the function does not return a value. The remaining template parameters must + * match the types of the function's parameters. If any type does not match, this + * function returns NULL. + * + * The returned QxtBoundFunction will not have a parent. Assigning a parent using + * QObject::setParent() is strongly recommended to avoid memory leaks. + */ +template +QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QXT_IMPL_10ARGS(QVariant)) { + QVariant* args[10] = { &p1, &p2, &p3, &p4, &p5, &p6, &p7, &p8, &p9, &p10 }; + return QxtMetaObject::bind(funcPointer, QXT_VAR_ARG(1), QXT_VAR_ARG(2), QXT_VAR_ARG(3), QXT_VAR_ARG(4), + QXT_VAR_ARG(5), QXT_VAR_ARG(6), QXT_VAR_ARG(7), QXT_VAR_ARG(8), QXT_VAR_ARG(9), QXT_VAR_ARG(10)); +} + +// The following overloads exist because C++ doesn't support default parameters in function templates +#ifndef QXT_DOXYGEN_RUN +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer) { + return bind(funcPointer, + QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1) { + return bind(funcPointer, + p1, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2) { + return bind(funcPointer, + p1, p2, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3) { + return bind(funcPointer, + p1, p2, p3, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4) { + return bind(funcPointer, + p1, p2, p3, p4, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4, QGenericArgument p5) { + return bind(funcPointer, + p1, p2, p3, p4, p5, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4, QGenericArgument p5, QGenericArgument p6) { + return bind(funcPointer, + p1, p2, p3, p4, p5, p6, QGenericArgument(), QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4, QGenericArgument p5, QGenericArgument p6, QGenericArgument p7) { + return bind(funcPointer, + p1, p2, p3, p4, p5, p6, p7, QGenericArgument(), QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4, QGenericArgument p5, + QGenericArgument p6, QGenericArgument p7, QGenericArgument p8) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, p7, p8, QGenericArgument(), QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QGenericArgument p1, QGenericArgument p2, QGenericArgument p3, QGenericArgument p4, QGenericArgument p5, + QGenericArgument p6, QGenericArgument p7, QGenericArgument p8, QGenericArgument p9) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, p7, p8, p9, QGenericArgument()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1) { + return bind(funcPointer, p1, QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2) { + return bind(funcPointer, p1, p2, QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3) { + return bind(funcPointer, p1, p2, p3, QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4) { + return bind(funcPointer, p1, p2, p3, p4, QVariant(), QVariant(), QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5) { + return bind(funcPointer, p1, p2, p3, p4, p5, QVariant(), QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, QVariant(), QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6, QVariant p7) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, p7, QVariant(), QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6, QVariant p7, QVariant p8) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, p7, p8, QVariant(), QVariant()); +} + +template +inline QxtBoundFunction* bind(QxtGenericFunctionPointer funcPointer, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6, QVariant p7, QVariant p8, QVariant p9) { + return bind(funcPointer, p1, p2, p3, p4, p5, p6, p7, p8, p9, QVariant()); +} +#endif +} +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtboundfunction.h b/src/contrib/libqxt-2007-10-24/src/core/qxtboundfunction.h new file mode 100644 index 00000000..a337298a --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtboundfunction.h @@ -0,0 +1,258 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTBOUNDFUNCTION_H +#define QXTBOUNDFUNCTION_H + +#include +#include +#include +#include +#include +#include +#include + +/** + * \class QxtBoundFunction + * \ingroup QxtCore + * \brief Binds parameters to a function call + * + * A bound function is very similar to what the C++ FAQ Lite refers to as "functionoids." + * (http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.10) + * It is similar in use to a function pointer, but allows any or all parameters to be + * pre-filled with constant values. The remaining parameters are specified when the + * function is invoked, for instance, by a Qt signal connection. + * + * By far, the most common expected use is to provide a parameter to a slot when the + * signal doesn't have offer one. Many developers new to Qt try to write code like this: + * \code + * connect(button, SIGNAL(clicked()), lineEdit, SLOT(setText("Hello, world"))); + * \endcode + * Experienced Qt developers will immediately spot the flaw here. The typical solution + * is to create a short, one-line wrapper slot that invokes the desired function. Some + * clever developers may even use QSignalMapper to handle slots that only need one + * int or QString parameter. + * + * QxtBoundFunction enables the previous connect statement to be written like this: + * \code + * connect(button, SIGNAL(clicked()), QxtMetaObject::bind(lineEdit, SLOT(setText(QString)), Q_ARG(QString, "Hello, world!"))); + * \code + * This accomplishes the same result without having to create a new slot, or worse, + * an entire object, just to pass a constant value. + * + * Additionally, through the use of the QXT_BIND macro, parameters from the signal + * can be rearranged, skipped, or passed alongside constant arguments provided + * with the Q_ARG macro. This can be used to provide stateful callbacks to a + * generic function, for example. + * + * Many kinds of functions can be bound. The most common binding applies to + * Qt signals and slots, but standard C/C++ functions can be bound as well. + * Future development may add the ability to bind to C++ member functions, + * and developers can make custom QxtBoundFunction subclasses for even more + * flexibility if necessary. + */ +class QxtBoundFunction : public QObject +{ + Q_OBJECT +public: + /** + * Invokes the bound function and returns a value. + * + * The template parameter should be the return type of the invoked function. This overload accepts + * QVariant parameters and will guess the data type of each parameter based on the type of the QVariant. + */ + template + inline QxtNullable invoke(QXT_PROTO_10ARGS(QVariant)) + { + if (!parent() || QThread::currentThread() == parent()->thread()) + return invoke(Qt::DirectConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); +#if QT_VERSION >= 0x040300 + return invoke(Qt::BlockingQueuedConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); +#else + qWarning() << "QxtBoundFunction::invoke: Cannot return a value using a queued connection"; + return qxtNull; +#endif + } + + /** + * Invokes the bound function and returns a value. + * + * The template parameter should be the return type of the invoked function. This overload accepts + * QGenericArgument parameters, expressed using the Q_ARG() macro. + */ + template + QxtNullable invoke(Qt::ConnectionType type, QVariant p1, QXT_PROTO_9ARGS(QVariant)) + { + if (type == Qt::QueuedConnection) + { + qWarning() << "QxtBoundFunction::invoke: Cannot return a value using a queued connection"; + return qxtNull; + } + T retval; + // I know this is a totally ugly function call + if (invoke(type, QGenericReturnArgument(qVariantFromValue(*reinterpret_cast(0)).typeName(), reinterpret_cast(&retval)), + p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)) + { + return retval; + } + else + { + return qxtNull; + } + } + + /** + * Invokes the bound function, discarding the return value. + * + * This overload accepts QVariant parameters and will guess the data type of each + * parameter based on the type of the QVariant. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + inline bool invoke(QVariant p1, QXT_PROTO_9ARGS(QVariant)) + { + return invoke(Qt::AutoConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } + /** + * Invokes the bound function, discarding the return value. + * + * This overload accepts QVariant parameters and will guess the data type of each + * parameter based on the type of the QVariant. It also allows you to specify the + * connection type, allowing the bound function to be invoked across threads using + * the Qt event loop. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + bool invoke(Qt::ConnectionType, QVariant p1, QXT_PROTO_9ARGS(QVariant)); + + /** + * Invokes the bound function, discarding the return value. + * + * This overload accepts QGenericArgument parameters, expressed using the Q_ARG() + * macro. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + inline bool invoke(QXT_PROTO_10ARGS(QGenericArgument)) + { + return invoke(Qt::AutoConnection, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } + /** + * Invokes the bound function, discarding the return value. + * + * This overload accepts QGenericArgument parameters, expressed using the Q_ARG() + * macro. It also allows you to specify the connection type, allowing the bound + * function to be invoked across threads using the Qt event loop. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + inline bool invoke(Qt::ConnectionType type, QXT_PROTO_10ARGS(QGenericArgument)) { + return invoke(type, QGenericReturnArgument(), p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } + + /** + * Invokes the bound function and assigns the return value to a parameter passed by reference. + * + * Use the Q_RETURN_ARG() macro to pass a reference to an assignable object of the function's + * return type. When the function completes, its return value will be stored in that object. + * + * This overload accepts QVariant parameters and will guess the data type of each + * parameter based on the type of the QVariant. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + inline bool invoke(QGenericReturnArgument returnValue, QVariant p1, QXT_PROTO_9ARGS(QVariant)) + { + return invoke(Qt::AutoConnection, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } + /** + * Invokes the bound function and assigns the return value to a parameter passed by reference. + * + * Use the Q_RETURN_ARG() macro to pass a reference to an assignable object of the function's + * return type. When the function completes, its return value will be stored in that object. + * + * This overload accepts QVariant parameters and will guess the data type of each + * parameter based on the type of the QVariant. It also allows you to specify the + * connection type, allowing the bound function to be invoked across threads using + * the Qt event loop. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + bool invoke(Qt::ConnectionType type, QGenericReturnArgument returnValue, QVariant p1, QXT_PROTO_9ARGS(QVariant)); + + /** + * Invokes the bound function and assigns the return value to a parameter passed by reference. + * + * Use the Q_RETURN_ARG() macro to pass a reference to an assignable object of the function's + * return type. When the function completes, its return value will be stored in that object. + * + * This overload accepts QGenericArgument parameters, expressed using the Q_ARG() + * macro. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + inline bool invoke(QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) + { + return invoke(Qt::AutoConnection, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); + } + /** + * Invokes the bound function and assigns the return value to a parameter passed by reference. + * + * Use the Q_RETURN_ARG() macro to pass a reference to an assignable object of the function's + * return type. When the function completes, its return value will be stored in that object. + * + * This overload accepts QGenericArgument parameters, expressed using the Q_ARG() + * macro. It also allows you to specify the connection type, allowing the bound + * function to be invoked across threads using the Qt event loop. + * + * This function returns true if the invocation was successful, otherwise it + * returns false. + */ + bool invoke(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)); + +protected: +#ifndef QXT_DOXYGEN_RUN + QxtBoundFunction(QObject* parent = 0); +#endif + + /** + * Performs the work of invoking the bound function. + * + * This function is pure virtual. The various QxtMetaObject::bind() functions return opaque subclasses + * of QxtBoundFunction. If you wish to create a new kind of bound function, reimplement this function to + * perform the invocation and assign the function's return value, if any, to the returnValue parameter. + * + * This function should return true if the invocation is successful and false if an error occurs. + */ + virtual bool invokeImpl(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)) = 0; +}; + +#endif diff --git a/src/contrib/qxt/qxtboundfunctionbase.h b/src/contrib/libqxt-2007-10-24/src/core/qxtboundfunctionbase.h similarity index 81% rename from src/contrib/qxt/qxtboundfunctionbase.h rename to src/contrib/libqxt-2007-10-24/src/core/qxtboundfunctionbase.h index 1be80f0f..d67ca8e6 100644 --- a/src/contrib/qxt/qxtboundfunctionbase.h +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtboundfunctionbase.h @@ -36,6 +36,10 @@ #include #include +#ifndef QXT_DOXYGEN_RUN + +#define QXT_10_UNUSED Q_UNUSED(p1) Q_UNUSED(p2) Q_UNUSED(p3) Q_UNUSED(p4) Q_UNUSED(p5) Q_UNUSED(p6) Q_UNUSED(p7) Q_UNUSED(p8) Q_UNUSED(p9) Q_UNUSED(p10) + class QxtBoundFunctionBase : public QxtBoundFunction { public: @@ -50,4 +54,7 @@ public: bool invokeBase(Qt::ConnectionType type, QGenericReturnArgument returnValue, QXT_PROTO_10ARGS(QGenericArgument)); }; +#define QXT_ARG(i) ((argCount>i)?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument()) +#define QXT_VAR_ARG(i) (p ## i .isValid())?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument() +#endif #endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.cpp new file mode 100644 index 00000000..99054a9e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.cpp @@ -0,0 +1,375 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +/*! +\class QxtCsvModel QxtCsvModel +\ingroup QxtCore +\brief Provides a QAbstractTableModel for CSV Files + */ + +/*! +\fn QxtCsvModel::QxtCsvModel(QObject *parent = 0); +default Constructor +*/ + +/*! +\fn QxtCsvModel::QxtCsvModel(QIODevice *file, QObject *parent=0, bool withHeader = false, QChar separator= ',') +constructs a QxtCsvModel from a QIODevice as source \n +\p withHeader specifies if the data on the device contains a header or not. +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + +/*! +\fn QxtCsvModel::QxtCsvModel(const QString filename, QObject *parent = 0, bool withHeader = false, QChar separator = ',') +constructs a QxtCsvModel from a filename as source \n +\p withHeader specifies if the data in the file contains a header or not. +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + +/*! +\fn void QxtCsvModel::setSource(QIODevice *file, bool withHeader = false, QChar separator = ','); +reads the cvs data from \p file +\p withHeader specifies if the data on the device contains a header or not. +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + + +/*! +\fn void QxtCsvModel::setSource(const QString filename, bool withHeader = false, QChar separator = ','); +reads the cvs data from \p filename +\p withHeader specifies if the data in the file contains a header or not. +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + + + +/*! +\fn void QxtCsvModel::toCSV(QIODevice *file, bool withHeader = false, QChar separator = ','); +writes the cvs data to \p file +\p withHeader specifies if to write the header or not +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + + +/*! +\fn void QxtCsvModel::toCSV(const QString filename, bool withHeader = false, QChar separator = ','); +writes the cvs data to \p filename +\p withHeader specifies if to write the header or not +\p separator is the seperator to use for the columns. most widely used seperators are ',' '\\t' ';' +*/ + + + +#include "qxtcsvmodel.h" +#include +#include + +class QxtCsvModelPrivate : public QxtPrivate +{ +public: + QxtCsvModelPrivate() : csvData(), header(), maxColumn(0) + {} + QXT_DECLARE_PUBLIC(QxtCsvModel); + + QStringList csvData; + QStringList header; + int maxColumn; +}; + +QxtCsvModel::QxtCsvModel(QObject *parent) : QAbstractTableModel(parent) +{ + QXT_INIT_PRIVATE(QxtCsvModel); +} + +QxtCsvModel::QxtCsvModel(QIODevice *file, QObject *parent, bool withHeader, QChar separator) : QAbstractTableModel(parent) +{ + QXT_INIT_PRIVATE(QxtCsvModel); + setSource(file, withHeader, separator); +} + +QxtCsvModel::QxtCsvModel(const QString filename, QObject *parent, bool withHeader, QChar separator) : QAbstractTableModel(parent) +{ + QXT_INIT_PRIVATE(QxtCsvModel); + QFile src(filename); + setSource(&src, withHeader, separator); +} + +QxtCsvModel::~QxtCsvModel() +{} + +int QxtCsvModel::rowCount(const QModelIndex& parent) const +{ + if (parent.row()!=-1 && parent.column()!=-1) return 0; + return qxt_d().csvData.count(); +} + +int QxtCsvModel::columnCount(const QModelIndex& parent) const +{ + if (parent.row()!=-1 && parent.column()!=-1) return 0; + return qxt_d().maxColumn; +} + +QVariant QxtCsvModel::data(const QModelIndex& index, int role) const +{ + if (index.parent()!=QModelIndex()) return QVariant(); + if (role==Qt::DisplayRole || role==Qt::EditRole || role==Qt::UserRole) + return qxt_d().csvData[index.row()].section(QChar(1),index.column(),index.column()); + else + { + //QVariant v; + return QVariant(); + } +} + +QVariant QxtCsvModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (section < qxt_d().header.count() && orientation==Qt::Horizontal && (role==Qt::DisplayRole || role==Qt::EditRole || role==Qt::UserRole)) + { + return qxt_d().header[section]; + } + else + return QAbstractTableModel::headerData(section, orientation, role); +} + +void QxtCsvModel::setSource(const QString filename, bool withHeader, QChar separator) +{ + QFile src(filename); + setSource(&src, withHeader, separator); +} + +void QxtCsvModel::setSource(QIODevice *file, bool withHeader, QChar separator) +{ + QxtCsvModelPrivate* d_ptr = &qxt_d(); + QString l; + int size; + bool isQuoted, headerSet = false; + if (!file->isOpen()) file->open(QIODevice::ReadOnly); + if (withHeader) + d_ptr->maxColumn = 0; + else + d_ptr->maxColumn = d_ptr->header.size(); + d_ptr->csvData.clear(); + while (!file->atEnd()) + { + l = file->readLine(); + l.replace(QChar('\n'),""); + l.replace(QChar('\r'),""); + size = l.length(); + isQuoted = false; + for (int i=0;i0) + { + if (l[i]=='"' && l[i-1]!='\\') isQuoted=!isQuoted; + else if (!isQuoted && l[i]==separator) l[i]=QChar(1); + } + else + { + if (l[i]=='"') isQuoted=!isQuoted; + else if (!isQuoted && l[i]==separator) l[i]=QChar(1); + } + } + if (l.count(QChar(1))+1 > d_ptr->maxColumn) d_ptr->maxColumn = l.count(QChar(1))+1; + if (withHeader && !headerSet) + { + d_ptr->header = l.split(QChar(1)); + headerSet=true; + } + else + d_ptr->csvData.append(l); + } + file->close(); +} + +void QxtCsvModel::setHeaderData(const QStringList data) +{ + qxt_d().header = data; + emit headerDataChanged(Qt::Horizontal, 0, data.count()); +} + +bool QxtCsvModel::setData(const QModelIndex& index, const QVariant& data, int role) +{ + if (index.parent()!=QModelIndex()) return false; + + QString before, after; + if (role==Qt::DisplayRole || role==Qt::EditRole || role==Qt::UserRole) + { + if (index.row()>=rowCount() || index.column()>=columnCount() || index.row()<0 || index.column()<0) return false; + if (index.column()!=0) + before = qxt_d().csvData[index.row()].section(QChar(1),0,index.column()-1) + QChar(1); + else + before = ""; + after = qxt_d().csvData[index.row()].section(QChar(1),index.column()+1); + qxt_d().csvData[index.row()] = before + data.toString() + QChar(1) + after; + emit dataChanged(index, index); + return true; + } + else + { + return false; + } +} + +bool QxtCsvModel::insertRow(int row, const QModelIndex& parent) +{ + return insertRows(row, 1, parent); +} + +bool QxtCsvModel::insertRows(int row, int count, const QModelIndex& parent) +{ + if (parent!=QModelIndex() || row<0) return false; + emit beginInsertRows(parent, row, row+count); + QxtCsvModelPrivate& d_ptr = qxt_d(); + if (row>=rowCount()) + { + for (int i=0;i=rowCount()) return false; + if (row+count>=rowCount()) count = rowCount()-row; + emit beginRemoveRows(parent, row, row+count); + QxtCsvModelPrivate& d_ptr = qxt_d(); + for (int i=0;i0) + before = d_ptr.csvData[i].section(QChar(1),0,col-1)+QChar(1); + else + before = ""; + after = d_ptr.csvData[i].section(QChar(1),col); + d_ptr.csvData[i] = before + QString(count, QChar(1)) + after; + } + } + for (int i=0;i=columnCount()) return false; + if (col+count>=columnCount()) count = columnCount()-col; + emit beginRemoveColumns(parent, col, col+count); + QxtCsvModelPrivate& d_ptr = qxt_d(); + QString before, after; + for (int i=0;i0) + before = d_ptr.csvData[i].section(QChar(1),0,col-1)+QChar(1); + else + before = ""; + after = d_ptr.csvData[i].section(QChar(1),col+count); + d_ptr.csvData[i] = before + after; + } + for (int i=0;iisOpen()) dest->open(QIODevice::WriteOnly | QIODevice::Truncate); + if (withHeader) + { + data = ""; + for (col = 0; col < cols; col++) + { + data += '"' + d_ptr.header.at(col) + '"'; + if (colwrite(data.toLatin1()); + } + for (row = 0; row < rows; row++) + { + data = ""; + for (col = 0; col < cols; col++) + { + data += '"' + d_ptr.csvData[row].section(QChar(1),col,col) + '"'; + if (colwrite(data.toLatin1()); + } + dest->close(); +} + +void QxtCsvModel::toCSV(const QString filename, bool withHeader, QChar separator) +{ + QFile dest(filename); + toCSV(&dest, withHeader, separator); +} + +Qt::ItemFlags QxtCsvModel::flags(const QModelIndex& index) const +{ + return Qt::ItemIsEditable | QAbstractTableModel::flags(index); +} diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.h b/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.h new file mode 100644 index 00000000..85437a07 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtcsvmodel.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCSVMODEL_H +#define QXTCSVMODEL_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class QxtCsvModelPrivate; +class QXT_CORE_EXPORT QxtCsvModel : public QAbstractTableModel +{ + Q_OBJECT +public: + QxtCsvModel(QObject *parent = 0); + QxtCsvModel(QIODevice *file, QObject *parent = 0, bool withHeader = false, QChar separator = ','); + QxtCsvModel(const QString filename, QObject *parent = 0, bool withHeader = false, QChar separator = ','); + ~QxtCsvModel(); + + int rowCount(const QModelIndex& parent = QModelIndex()) const; + int columnCount(const QModelIndex& parent = QModelIndex()) const; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + bool setData(const QModelIndex& index, const QVariant& data, int role = Qt::EditRole); + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + void setHeaderData(const QStringList data); + + bool insertRow(int row, const QModelIndex& parent = QModelIndex()); + bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex()); + bool removeRow(int row, const QModelIndex& parent = QModelIndex()); + bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()); + bool insertColumn(int col, const QModelIndex& parent = QModelIndex()); + bool insertColumns(int col, int count, const QModelIndex& parent = QModelIndex()); + bool removeColumn(int col, const QModelIndex& parent = QModelIndex()); + bool removeColumns(int col, int count, const QModelIndex& parent = QModelIndex()); + + void setSource(QIODevice *file, bool withHeader = false, QChar separator = ','); + void setSource(const QString filename, bool withHeader = false, QChar separator = ','); + + void toCSV(QIODevice *file, bool withHeader = false, QChar separator = ','); + void toCSV(const QString filename, bool withHeader = false, QChar separator = ','); + + Qt::ItemFlags flags(const QModelIndex& index) const; + +private: + QXT_DECLARE_PRIVATE(QxtCsvModel); +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxterror.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxterror.cpp new file mode 100644 index 00000000..d902c106 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxterror.cpp @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxterror.h" + +QxtError::QxtError(const char * file, long line, Qxt::ErrorCode errorcode,const char * errorString) +{ + file_m=file; + line_m=line; + errorcode_m=errorcode; + errorString_m=errorString; +} + + +Qxt::ErrorCode QxtError::errorCode() const +{ + return errorcode_m; +} + +long QxtError::line() const +{ + return line_m; +} + +const char * QxtError::file() const +{ + return file_m; +} + +QxtError::operator Qxt::ErrorCode() +{ + return errorcode_m; +} +/*! +The Error String or NULL +depending how the error was constructed. +Be carefull with stack and temporary objects, QxtError just saves the pointer you passed, not the actual data. +*/ +const char * QxtError::errorString() const +{ + return errorString_m; +} + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxterror.h b/src/contrib/libqxt-2007-10-24/src/core/qxterror.h new file mode 100644 index 00000000..c22accfd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxterror.h @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + + +#ifndef QXTERROR_H +#define QXTERROR_H +#include +#include + +/** +\class QxtError QxtError + +\ingroup QxtCore + +\brief Information about Errors ocuring inside Qxt + +*/ + +/*! \relates QxtError +droping an error inside a function that returns QxtError + + +short for return QxtError(__FILE__,__LINE__,x); +*/ +#define QXT_DROP(x) return QxtError(__FILE__,__LINE__,x); + + +/*! \relates QxtError +droping an error inside a function that returns QxtError + +aditionaly specifies an errorstring \n + +short for return QxtError(__FILE__,__LINE__,x,s); +*/ +#define QXT_DROP_S(x,s) return QxtError(__FILE__,__LINE__,x,s); + + +/*! \relates QxtError +droping no error inside a function that returns QxtError + +short for return QxtError(__FILE__,__LINE__,Qxt::NoError); +*/ +#define QXT_DROP_OK return QxtError(__FILE__,__LINE__,Qxt::NoError); + + +/*! \relates QxtError +forward a drop + + +drops from this function if the call inside dropped too. +the inner function must return or be a QxtError. + +example +\code +QXT_DROP_F(critical_function()); +\endcode + +*/ +#define QXT_DROP_F(call) {QxtError error_sds = call; if (error_sds != Qxt::NoError ) return error_sds; else (void)0; } + +/*! \relates QxtError +check for errors + +example +\code +QXT_DROP_SCOPE(error,critical_function()) + { + qDebug()< +** +****************************************************************************/ + + +/** +\class QxtFifo QxtFifo + +\ingroup QxtCore + +\brief Simple Loopback QIODevice + +read and write to the same object \n +emits a readyRead Signal. \n +usefull for loopback tests where QBuffer does not work. + +\code +QxtFifo fifo; + QTextStream (&fifo)<>a; + qDebug()< + +QxtFifo::QxtFifo(QObject *parent):QIODevice(parent) +{ + setOpenMode (QIODevice::ReadWrite); +} + +qint64 QxtFifo::readData ( char * data, qint64 maxSize ) +{ + qint64 i=0; + for (;i0) + emit(readyRead ()); + return maxSize; +} + + +bool QxtFifo::isSequential () const +{ + return true; +} + + +qint64 QxtFifo::bytesAvailable () const +{ + return q.count(); +} + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfifo.h b/src/contrib/libqxt-2007-10-24/src/core/qxtfifo.h new file mode 100644 index 00000000..51c1e8be --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfifo.h @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QxtFifo_H_GUARD +#define QxtFifo_H_GUARD +#include +#include +#include + +class QXT_CORE_EXPORT QxtFifo : public QIODevice +{ + Q_OBJECT +public: + QxtFifo(QObject * parent=0); + + virtual bool isSequential () const; + virtual qint64 bytesAvailable () const; +protected: + virtual qint64 readData ( char * data, qint64 maxSize ); + virtual qint64 writeData ( const char * data, qint64 maxSize ); + + +private: + QQueue q; +}; + +#endif + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.cpp new file mode 100644 index 00000000..5eda4392 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.cpp @@ -0,0 +1,153 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtfilelock.h" +#include "qxtfilelock_p.h" +/** + * \class QxtFileLock QxtFileLock + * \ingroup QxtCore + * \brief The QxtFileLock class provides a crossplattform way to lock a QFile. + * + * It supports the range locking of a file. The File will take parentship of the lock.
    + * The lock gets cleaned up with the QFile, and it is released when the QFile is closed.
    + * + * Example usage: + * \code + * off_t lockstart = 0x10; + * off_t locklength = 30 + * + * QFile file("test.lock"); + * + * //the lock gets deleted when file is cleaned up + * QxtFileLock * writeLock = new QxtFileLock(&file,lockstart,locklength,QxtFileLock::WriteLock); + * if(file.open(QIODevice::ReadWrite)) + * { + * if(writeLock->lock()) + * { + * // some write operations + * writeLock->unlock(); + * } + * else + * //lock failed + * } + * \endcode + * \note QxtFileLock behaves different than normal unix locks on *nix. A thread can writelock the region of a file only ONCE if it uses two different handles. + * A different thread can not writelock a region that is owned by a other thread even if it is the SAME process. + * \note On *nix this class uses fctnl to lock the file. This may not be compatible to other locking functions like flock and lockf + * \note Please do not mix QxtFileLock and native file lock calls on the same QFile. The behaviour is undefined + * \note QxtFileLock lives in the same thread as the passed QFile + * \warning due to a refactoring issues of QFile this class will not work with Qt from 4.3 on. This will be fixed in 4.3.2 + * \warning not part of 0.2.4 + + +*/ + +/** + * @enum QxtFileLock::mode + * @brief The Mode of the lock + */ + +/** + * @var QxtFileLock::mode QxtFileLock::ReadLock + * @brief A non blocking read lock + */ + +/** + * @var QxtFileLock::mode QxtFileLock::WriteLock + * @brief A non blocking write lock + */ + +/** + * @var QxtFileLock::mode QxtFileLock::ReadLockWait + * @brief A blocking read lock. The lock() function will block until the lock is created. + */ + +/** + * @var QxtFileLock::mode QxtFileLock::WriteLockWait + * @brief A blocking write lock. The lock() function will block until the lock is created. + */ + +QxtFileLockPrivate::QxtFileLockPrivate() : offset(0), length(0), mode(QxtFileLock::WriteLockWait), isLocked(false) +{ +} + +/** + * Contructs a new QxtFileLock. The lock is not activated. + * @param file the file that should be locked + * @param offset the offset where the lock starts + * @param length the length of the lock + * @param mode the lockmode + */ +QxtFileLock::QxtFileLock(QFile *file,const off_t offset,const off_t length,const QxtFileLock::Mode mode) : QObject(file) +{ + QXT_INIT_PRIVATE(QxtFileLock); + connect(file,SIGNAL(aboutToClose()),this,SLOT(unlock())); + qxt_d().offset = offset; + qxt_d().length = length; + qxt_d().mode = mode; +} + +QxtFileLock::~QxtFileLock() +{ + unlock(); +} + +/** + *@return the offset of the lock + */ +off_t QxtFileLock::offset() const +{ + return qxt_d().offset; +} + +/** + * @return true if the lock is active otherwise it returns false + */ +bool QxtFileLock::isActive() const +{ + return qxt_d().isLocked; +} + +/** + * @return the length of the lock + */ +off_t QxtFileLock::length() const +{ + return qxt_d().length; +} + +/** + * the file the lock is created on + */ +QFile * QxtFileLock::file() const +{ + return qobject_cast(parent()); +} + +/** + * @return the mode of the lock + */ +QxtFileLock::Mode QxtFileLock::mode() const +{ + return qxt_d().mode; +} diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h new file mode 100644 index 00000000..f8f862cc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTFILELOCK_H_INCLUDED +#define QXTFILELOCK_H_INCLUDED + + +#include +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtFileLockPrivate; + +class QXT_CORE_EXPORT QxtFileLock : public QObject +{ + Q_OBJECT + +public: + + enum Mode + { + ReadLockWait, + ReadLock, + WriteLockWait, + WriteLock + }; + + QxtFileLock(QFile *file, const off_t offset,const off_t length,const QxtFileLock::Mode mode = WriteLockWait); + ~QxtFileLock(); + + off_t offset() const; + off_t length() const; + bool isActive() const; + QFile *file() const; + QxtFileLock::Mode mode() const; + +public slots: + bool lock (); + bool unlock(); + +private: + QxtFileLock(const QxtFileLock &other); + QXT_DECLARE_PRIVATE(QxtFileLock); +}; +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_p.h b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_p.h new file mode 100644 index 00000000..716548e0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_p.h @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +#ifndef QXTFILELOCK_P_H_INCLUDED +#define QXTFILELOCK_P_H_INCLUDED + +#include "qxtpimpl.h" +#include +#include +#include +#include + +class QxtFileLock; + +class QxtFileLockPrivate : public QxtPrivate +{ +public: + QxtFileLockPrivate(); + QXT_DECLARE_PUBLIC(QxtFileLock); + + off_t offset; + off_t length; + QxtFileLock::Mode mode; + bool isLocked; +}; +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_unix.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_unix.cpp new file mode 100644 index 00000000..c884768d --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_unix.cpp @@ -0,0 +1,263 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtfilelock.h" +#include "qxtfilelock_p.h" + +#include +#include +#include +#include +/*include pthread to make errno threadsafe*/ +#include +#include +#include +#include +#include + +/*! + * \internal this class is used on *nix to register all locks created by a process and to let locks on *nix act like locks on windows + */ +class QxtFileLockRegistry +{ +public: + bool registerLock(QxtFileLock *lock ); + bool removeLock(QxtFileLock *lock ); + static QxtFileLockRegistry& instance(); + +private: + QLinkedList < QPointer > procLocks; + QMutex registryMutex; + QxtFileLockRegistry(); +}; + +QxtFileLockRegistry::QxtFileLockRegistry() +{} + +QxtFileLockRegistry& QxtFileLockRegistry::instance() +{ + static QxtFileLockRegistry instance; + return instance; +} + +/*! + * \internal this function locks the lockregistry and checks if there is a collision between the process locks + * \internal if there is no collision it inserts the lock into the registry and returns + * \internal return true for success + */ +bool QxtFileLockRegistry::registerLock(QxtFileLock * lock ) +{ + QMutexLocker locker(&this->registryMutex); + + QFile *fileToLock = lock ->file(); + + if (fileToLock) + { + struct stat fileInfo; + if ( fstat(fileToLock->handle(),&fileInfo) < 0 ) + return false; + + int newLockStart = lock ->offset(); + int newLockEnd = lock ->offset()+lock ->length(); + + QMutableLinkedListIterator< QPointer >iterator(this->procLocks); + + while (iterator.hasNext()) + { + QPointer currLock = iterator.next(); + if (currLock && currLock->file() && currLock->file()->isOpen()) + { + struct stat currFileInfo; + + /*first check if the current lock is on the same file*/ + if ( fstat(currLock->file()->handle(),&currFileInfo) < 0 ) + { + /*that should never happen because a closing file should remove all locks*/ + Q_ASSERT(false); + continue; + } + + if (currFileInfo.st_dev == fileInfo.st_dev && currFileInfo.st_ino == fileInfo.st_ino) + { + /*same file, check if our locks are in conflict*/ + int currLockStart = currLock->offset(); + int currLockEnd = currLock->offset()+currLock->length(); + + /*do we have to check for threads here?*/ + if (newLockEnd >= currLockStart && newLockStart <= currLockEnd) + { + qDebug()<<"we may have a collision"; + qDebug()<= "<thread()<<" == "<thread()<<" && "<file()->handle()<<" == "<file()->handle()<<")"; + + if (! (lock ->thread() == currLock->thread() && lock ->file()->handle() == currLock->file()->handle())) + { + qDebug()<<"Collision"; + return false; + } + } + } + } + } + else //remove dead locks + iterator.remove(); + } + qDebug()<<"The lock is okay"; + /*here we can insert the lock into the list and return*/ + procLocks.append(QPointer(lock )); + return true; + + } + + return false; +} + +bool QxtFileLockRegistry::removeLock(QxtFileLock * lock ) +{ + QMutexLocker locker(&this->registryMutex); + procLocks.removeAll(lock ); + return true; +} + +bool QxtFileLock::unlock() +{ + if (file() && file()->isOpen() && isActive()) + { + /*first remove real lock*/ + int lockmode, locktype; + int result = -1; + struct flock lockDesc; + + lockmode = F_SETLK; + locktype = F_UNLCK; + + errno = 0; + do + { + lockDesc.l_type = locktype; + lockDesc.l_whence = SEEK_SET; + lockDesc.l_start = qxt_d().offset; + lockDesc.l_len = qxt_d().length; + lockDesc.l_pid = 0; + result = fcntl (this->file()->handle(), lockmode, &lockDesc); + } + while (result && errno == EINTR); + + QxtFileLockRegistry::instance().removeLock(this); + qxt_d().isLocked = false; + return true; + } + return false; +} + +bool QxtFileLock::lock () +{ + if (file() && file()->isOpen() && !isActive()) + { + /*this has to block if we can get no lock*/ + + bool locked = false; + + while (1) + { + locked = QxtFileLockRegistry::instance().registerLock(this); + if (locked) + break; + else + { + if (qxt_d().mode == ReadLockWait || qxt_d().mode == WriteLockWait) + usleep(1000 * 5); + else + return false; + } + } + + /*now get real lock*/ + int lockmode, + locktype; + + int result = -1; + + struct flock lockDesc; + + switch (qxt_d().mode) + { + case ReadLock: + lockmode = F_SETLK; + locktype = F_RDLCK; + break; + + case ReadLockWait: + lockmode = F_SETLKW; + locktype = F_RDLCK; + break; + + case WriteLock: + lockmode = F_SETLK; + locktype = F_WRLCK; + break; + + case WriteLockWait: + lockmode = F_SETLKW; + locktype = F_WRLCK; + break; + + default: + QxtFileLockRegistry::instance().removeLock(this); + return (false); + break; + } + + errno = 0; + do + { + lockDesc.l_type = locktype; + lockDesc.l_whence = SEEK_SET; + lockDesc.l_start = qxt_d().offset; + lockDesc.l_len = qxt_d().length; + lockDesc.l_pid = 0; + result = fcntl (this->file()->handle(), lockmode, &lockDesc); + } + while (result && errno == EINTR); + + /*we dot get the lock unregister from lockregistry and return*/ + if (result == -1) + { + QxtFileLockRegistry::instance().removeLock(this); + return false; + } + + qxt_d().isLocked = true; + return true; + } + return false; +} + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_win.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_win.cpp new file mode 100644 index 00000000..80ea67fd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock_win.cpp @@ -0,0 +1,88 @@ +#include "qxtfilelock.h" +#include "qxtfilelock_p.h" +#include +#include + +#if 1 + +bool QxtFileLock::unlock() +{ + if (file() && file()->isOpen() && isActive()) + { + HANDLE w32FileHandle; + OVERLAPPED ov1; + DWORD dwflags; + + w32FileHandle = (HANDLE)_get_osfhandle(file()->handle()); + if (w32FileHandle == INVALID_HANDLE_VALUE) + return false; + + memset(&ov1,0, sizeof(ov1)); + ov1.Offset = qxt_d().offset; + + if (UnlockFileEx(w32FileHandle, 0, qxt_d().length, 0, &ov1)) + { + qxt_d().isLocked = false; + return true; + } + } + return false; +} + +bool QxtFileLock::lock () +{ + if (file() && file()->isOpen() && !isActive()) + { + HANDLE w32FileHandle; + OVERLAPPED ov1; + DWORD dwflags; + + w32FileHandle = (HANDLE)_get_osfhandle(file()->handle()); + if (w32FileHandle == INVALID_HANDLE_VALUE) + return false; + + switch (qxt_d().mode) + { + case ReadLock: + dwflags = LOCKFILE_FAIL_IMMEDIATELY; + break; + + case ReadLockWait: + dwflags = 0; + break; + + case WriteLock: + dwflags = LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY; + break; + + case WriteLockWait: + dwflags = LOCKFILE_EXCLUSIVE_LOCK; + break; + + default: + return (false); + } + + memset(&ov1, 0, sizeof(ov1)); + ov1.Offset = qxt_d().offset; + + if (LockFileEx(w32FileHandle,dwflags, 0, qxt_d().length, 0, &ov1)) + { + qxt_d().isLocked = true; + return true; + } + } + return false; +} + +#else +bool QxtFileLock::unlock() +{ + return false; +} + +bool QxtFileLock::lock () +{ + return false; +} +#endif diff --git a/src/contrib/qxt/qxtglobal.h b/src/contrib/libqxt-2007-10-24/src/core/qxtglobal.h similarity index 89% rename from src/contrib/qxt/qxtglobal.h rename to src/contrib/libqxt-2007-10-24/src/core/qxtglobal.h index 2fff0495..835dddfb 100644 --- a/src/contrib/qxt/qxtglobal.h +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtglobal.h @@ -23,36 +23,27 @@ ****************************************************************************/ -/** \defgroup core Core - The Core contains naturaly the most important parts of Qxt everything is based one. it has no QT depencies and is licenced under pure lgpl +/** \defgroup QxtCore QxtCore + The Core contains naturaly the most important parts of Qxt, everything is based on. */ -/** \defgroup kit Kit - the kit module contains the base parts of Qxt that depend on QtCore -*/ - -/** \defgroup sql Sql +/** \defgroup QxtSql QxtSql parts that depend on QtSql (and at least QtCore) */ -/** \defgroup network Network +/** \defgroup QxtNetwork QxtNetwork parts that depend on QtNetwork (and at least QtCore) */ -/** \defgroup gui Gui +/** \defgroup QxtGui QxtGui parts that depend on QtGui (and at least QtCore) */ - -/** \defgroup curses Curses - Qt like ncurses Frontend -*/ - -/** \defgroup web Web +/** \defgroup QxtWeb QxtWeb Qt like Web Developement tools */ -/** \defgroup crypto Crypto +/** \defgroup QxtCrypto QxtCrypto Tools for encryption and hashing */ diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxthypermacros.h b/src/contrib/libqxt-2007-10-24/src/core/qxthypermacros.h new file mode 100644 index 00000000..15e4537f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxthypermacros.h @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +/** +\class QxtHyperMacros QxtHyperMacros + +\ingroup QxtCore + +\brief some helper macros for your daily work + +hypermacros use templates in order to work +*/ + + + + +#ifndef HEADER_GUARDS_QxtHyperMacros_H +#define HEADER_GUARDS_QxtHyperMacros_H + + +/*! \relates QxtHyperMacros + * just do something n times + */ +#define fortimes(times) for (QxtHyperValue hyperhyperthingyhopefullynooneusesthisnamehere=QxtHyperValue(0); hyperhyperthingyhopefullynooneusesthisnamehere +class QxtHyperValue +{ +public: + + QxtHyperValue(const T& p) + { + value=p; + } + + QxtHyperValue & operator=(const QxtHyperValue &rhs) + { + value=rhs; + return this; + } + + operator T() const + { + return value; + } + + const QxtHyperValue& operator++() + { + value++; + return this; + } + const QxtHyperValue& operator--() + { + value--; + return this; + } + const QxtHyperValue operator++(int) + { + QxtHyperValue clone = *this; + value++; + return clone; + } + const QxtHyperValue operator--(int) + { + QxtHyperValue clone = *this; + value--; + return clone; + } + + bool operator== ( T& v) + { + return (value==v); + } + + bool operator> ( T& v) + { + return (value>v); + } + + bool operator< ( T& v) + { + return (value +** +****************************************************************************/ + +/** +\class QxtJob QxtJob + +\ingroup QxtCore + +\brief Execute a Job on a QThread. once or multiple times. + +QxtJob allows easily starting jobs on different threads.\n +exec() will ask for the QThread to run the job on. +The Qthread needs an event loop. 4.3 and later versions of Qt have +a non virtual QThread with a default event loop, allowing easy deployment of jobs. + +\code +QThread thread; +thread.start(); +LockJob().exec(&thread); +\endcode +*/ + +#include "qxtjob_p.h" +#include +#include + +class Thread : public QThread +{ +public: + static void usleep(unsigned long usecs) + { + QThread::usleep(usecs); + } +}; + +QxtJob::QxtJob() +{ + QXT_INIT_PRIVATE(QxtJob); + qxt_d().running.set(false); + connect(&qxt_d(),SIGNAL(done()),this,SIGNAL(done())); +} +/*! +execute the Job on \p onthread \n +*/ +void QxtJob::exec(QThread * onthread) +{ + qxt_d().moveToThread(onthread); + connect(this,SIGNAL(subseed()),&qxt_d(),SLOT(inwrap_d()),Qt::QueuedConnection); + + qxt_d().running.set(true); + emit(subseed()); +} +/*! +The dtor joins. +Means it blocks until the job is finished +*/ +QxtJob::~QxtJob() +{ + join(); +} +/*! +block until the Job finished \n +Note that the current thread will be blocked. \n +If you use this, you better be damn sure you actually want a thread.\n +Maybe you actualy want to use QxtSignalWaiter. +*/ +void QxtJob::join() +{ + while(qxt_d().running.get()==true) + { + /** + oh yeah that sucks ass, + but since any kind of waitcondition will just fail due to undeterminnism, + we have no chance then polling. + And no, a mutex won't work either. + using join for anything else then testcases sounds kindof retarded anyway. + */ + Thread::usleep(1000); + } + +} +void QxtJobPrivate::inwrap_d() +{ + synca.wakeAll(); + qxt_p().run(); + running.set(false); + emit(done()); +} + + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtjob.h b/src/contrib/libqxt-2007-10-24/src/core/qxtjob.h new file mode 100644 index 00000000..7904b8ed --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtjob.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QxtJob_H_GUARD +#define QxtJob_H_GUARD + +#include +#include + +#include + +class QxtJobPrivate; +class QThread; + +class QXT_CORE_EXPORT QxtJob : public QObject +{ +Q_OBJECT +public: + QxtJob(); + ~QxtJob(); + void exec(QThread * onthread); + void join(); +protected: + virtual void run()=0; +signals: + void done(); +private: + QXT_DECLARE_PRIVATE(QxtJob); +signals: + void subseed(); +}; + +#endif + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtjob_p.h b/src/contrib/libqxt-2007-10-24/src/core/qxtjob_p.h new file mode 100644 index 00000000..f15e3159 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtjob_p.h @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include +#include +#include + + + + +class QxtJobPrivate : public QObject, public QxtPrivate +{ +Q_OBJECT +public: + class RunningState + { + public: + void set(bool a) + { + mutex.lock(); + r=a; + mutex.unlock(); + } + bool get() + { + mutex.lock(); + bool a=r; + mutex.unlock(); + return a; + } + + QMutex mutex; + bool r; + + } running; + + QXT_DECLARE_PUBLIC(QxtJob); + QMutex mutexa; + QWaitCondition synca; + + +public slots: + void inwrap_d(); +signals: + void done(); + +}; + + + diff --git a/src/contrib/qxt/qxtmetaobject.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.cpp similarity index 86% rename from src/contrib/qxt/qxtmetaobject.cpp rename to src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.cpp index e6aa03cb..e7723f1a 100644 --- a/src/contrib/qxt/qxtmetaobject.cpp +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.cpp @@ -24,7 +24,7 @@ /** \class QxtMetaObject QxtMetaObject -\ingroup core +\ingroup QxtCore \brief provides extensions to QMetaObject @@ -34,12 +34,14 @@ including QxtMetaObject::bind \n #include "qxtmetaobject.h" #include "qxtboundfunction.h" #include "qxtboundcfunction.h" +#include "qxtmetatype.h" #include #include #include #include +#ifndef QXT_DOXYGEN_RUN class QxtBoundArgument { // This class intentionally left blank @@ -52,9 +54,8 @@ QxtBoundFunction::QxtBoundFunction(QObject* parent) : QObject(parent) { // initializer only } +#endif -#define QXT_ARG(i) ((argCount>i)?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument()) -#define QXT_VAR_ARG(i) (p ## i .isValid())?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument() bool QxtBoundFunction::invoke(Qt::ConnectionType type, QXT_IMPL_10ARGS(QVariant)) { return invoke(type, QXT_VAR_ARG(1), QXT_VAR_ARG(2), QXT_VAR_ARG(3), QXT_VAR_ARG(4), QXT_VAR_ARG(5), QXT_VAR_ARG(6), QXT_VAR_ARG(7), QXT_VAR_ARG(8), QXT_VAR_ARG(9), QXT_VAR_ARG(10)); @@ -76,7 +77,7 @@ QxtBoundFunctionBase::QxtBoundFunctionBase(QObject* parent, QGenericArgument* pa } else { - data[i] = QMetaType::construct(QMetaType::type(params[i]->name()), params[i]->data()); + data[i] = qxtConstructFromGenericArgument(*params[i]); arg[i] = p[i] = QGenericArgument(params[i]->name(), data[i]); } bindTypes[i] = types[i]; @@ -88,7 +89,7 @@ QxtBoundFunctionBase::~QxtBoundFunctionBase() for (int i=0; i<10; i++) { if (arg[i].name() == 0) return; - if (QByteArray(arg[i].name()) != "QxtBoundArgument") QMetaType::destroy(QMetaType::type(arg[i].name()), arg[i].data()); + if (QByteArray(arg[i].name()) != "QxtBoundArgument") qxtDestroyFromGenericArgument(arg[i]); } } @@ -133,6 +134,7 @@ bool QxtBoundFunction::invoke(Qt::ConnectionType type, QGenericReturnArgument re return reinterpret_cast(this)->invokeBase(type, returnValue, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } +#ifndef QXT_DOXYGEN_RUN class QxtBoundSlot : public QxtBoundFunctionBase { public: @@ -153,6 +155,7 @@ public: return true; } }; +#endif namespace QxtMetaObject { @@ -207,24 +210,21 @@ bool isSignalOrSlot (const char* method) } /** -\relates QxtMetaObject -\fn bind(QObject* recv, const char* invokable, QXT_IMPL_10ARGS(QVariant)) - -creates a QxtBoundFunction from a slot + arguments \n -can be used for QxtMetaObject::connect \ - -\code -QxtMetaObject::connect(\n - this, SIGNAL(init()), \\n - QxtMetaObject::bind(this, SLOT(say(QString)), Q_ARG(QString,"hello"))); -\endcode -\n -\code -QxtMetaObject::connect( \n - this, SIGNAL(init(int i)), \n - QxtMetaObject::bind(this, SLOT(say(QString),int), Q_ARG(QString,"hello"),Q_BIND(1))); -\endcode - + * \relates QxtMetaObject + * \sa QxtMetaObject::connect + * \sa QxtBoundFunction + * + * Creates a binding to the provided signal, slot, or Q_INVOKABLE method using the + * provided parameter list. The type of each argument is deduced from the type of + * the QVariant. This function cannot bind positional arguments; see the + * overload using QGenericArgument. + * + * If the provided QObject does not implement the requested method, or if the + * argument list is incompatible with the method's function signature, this + * function returns NULL. + * + * The returned QxtBoundFunction is created as a child of the receiver. + * Changing the parent will result in undefined behavior. */ QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_IMPL_10ARGS(QVariant)) { @@ -261,6 +261,24 @@ QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_IMPL_10ARGS(QVa return QxtMetaObject::bind(recv, invokable, QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7), QXT_ARG(8), QXT_ARG(9), QXT_ARG(10)); } +/** + * \relates QxtMetaObject + * \sa QxtMetaObject::connect + * \sa QxtBoundFunction + * \sa QXT_BIND + * + * Creates a binding to the provided signal, slot, or Q_INVOKABLE method using the + * provided parameter list. Use the Q_ARG macro to specify constant parameters, or + * use the QXT_BIND macro to relay a parameter from a connected signal or passed + * via the QxtBoundFunction::invoke() method. + * + * If the provided QObject does not implement the requested method, or if the + * argument list is incompatible with the method's function signature, this + * function returns NULL. + * + * The returned QxtBoundFunction is created as a child of the receiver. + * Changing the parent will result in undefined behavior. + */ QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_IMPL_10ARGS(QGenericArgument)) { if (!recv) diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.h b/src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.h new file mode 100644 index 00000000..4520e896 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtmetaobject.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTMETAOBJECT_H +#define QXTMETAOBJECT_H + +#include +#include +#include +#include +#include "qxtnullable.h" +class QByteArray; +class QxtBoundArgument; +class QxtBoundFunction; + +#define QXT_PROTO_10ARGS(T) T p1 = T(), T p2 = T(), T p3 = T(), T p4 = T(), T p5 = T(), T p6 = T(), T p7 = T(), T p8 = T(), T p9 = T(), T p10 = T() +#define QXT_PROTO_9ARGS(T) T p2 = T(), T p3 = T(), T p4 = T(), T p5 = T(), T p6 = T(), T p7 = T(), T p8 = T(), T p9 = T(), T p10 = T() +#define QXT_IMPL_10ARGS(T) T p1, T p2, T p3, T p4, T p5, T p6, T p7, T p8, T p9, T p10 + +class QxtGenericFunctionPointer { +template +friend QxtGenericFunctionPointer qxtFuncPtr(FUNCTION funcPtr); +public: + QxtGenericFunctionPointer(const QxtGenericFunctionPointer& other) { + funcPtr = other.funcPtr; + typeName = other.typeName; + } + + typedef void(voidFunc)(); + voidFunc* funcPtr; + QByteArray typeName; + +private: + QxtGenericFunctionPointer(voidFunc* ptr, const QByteArray& typeIdName) { + funcPtr = ptr; + typeName = typeIdName; + } +}; + +template +QxtGenericFunctionPointer qxtFuncPtr(FUNCTION funcPtr) { + return QxtGenericFunctionPointer(reinterpret_cast(funcPtr), typeid(funcPtr).name()); +} + +namespace QxtMetaObject +{ +QXT_CORE_EXPORT QByteArray methodName(const char* method); +QXT_CORE_EXPORT QByteArray methodSignature(const char* method); + +QXT_CORE_EXPORT bool isSignalOrSlot (const char* method); + +QXT_CORE_EXPORT QxtBoundFunction* bind(QObject* recv, const char* invokable, QXT_PROTO_10ARGS(QGenericArgument)); +QXT_CORE_EXPORT QxtBoundFunction* bind(QObject* recv, const char* invokable, QVariant p1, QXT_PROTO_9ARGS(QVariant)); +QXT_CORE_EXPORT bool connect(QObject* sender, const char* signal, QxtBoundFunction* slot, + Qt::ConnectionType type = Qt::AutoConnection); +} + +/** + * \relates QxtMetaObject + * \sa QxtMetaObject::bind + * Refers to the n'th parameter of QxtBoundFunction::invoke() or a signal connected to + * a QxtBoundFunction. + */ +#define QXT_BIND(n) QGenericArgument("QxtBoundArgument", reinterpret_cast(n)) + +#endif // QXTMETAOBJECT_H diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtmetatype.h b/src/contrib/libqxt-2007-10-24/src/core/qxtmetatype.h new file mode 100644 index 00000000..ea4e6df5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtmetatype.h @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTMETATYPE_H +#define QXTMETATYPE_H + +#include +#include +#include +#include + +template +class QxtMetaType { +public: + static inline T* construct(const T* copy = 0) { + return QMetaType::construct(qMetaTypeId(), reinterpret_cast(copy)); + } + + static inline void destroy(T* data) { + QMetaType::destroy(qMetaTypeId(), data); + } + + // no need to reimplement isRegistered since this class will fail at compile time if it isn't + + static inline bool load(QDataStream& stream, T* data) { + return QMetaType::load(stream, qMetaTypeId(), reinterpret_cast(data)); + } + + static inline bool save(QDataStream& stream, const T* data) { + return QMetaType::save(stream, qMetaTypeId(), reinterpret_cast(data)); + } + + static inline int type() { + return qMetaTypeId(); + } + + static inline const char* name() { + return QMetaType::typeName(qMetaTypeId()); + } +}; + +template <> +class QxtMetaType { +public: + static inline void* construct(const void* copy = 0) { + Q_UNUSED(copy); + return 0; + } + + static inline void destroy(void* data) { + Q_UNUSED(data); + } + + static inline bool load(QDataStream& stream, void* data) { + Q_UNUSED(stream); + Q_UNUSED(data); + return false; + } + + static inline bool save(QDataStream& stream, const void* data) { + Q_UNUSED(stream); + Q_UNUSED(data); + return false; + } + + static inline int type() { + return 0; + } + + static inline const char* name() { + return 0; + } +}; + +inline void* qxtConstructByName(const char* typeName, const void* copy = 0) { + return QMetaType::construct(QMetaType::type(typeName), copy); +} + +inline void qxtDestroyByName(const char* typeName, void* data) { + QMetaType::destroy(QMetaType::type(typeName), data); +} + +inline void* qxtConstructFromGenericArgument(QGenericArgument arg) { + return qxtConstructByName(arg.name(), arg.data()); +} + +inline void qxtDestroyFromGenericArgument(QGenericArgument arg) { + qxtDestroyByName(arg.name(), arg.data()); +} + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtnamespace.h b/src/contrib/libqxt-2007-10-24/src/core/qxtnamespace.h new file mode 100644 index 00000000..c252b678 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtnamespace.h @@ -0,0 +1,121 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTNAMSPACE_GUARD_H +#define QXTNAMSPACE_GUARD_H + +#include + + +/** + \namespace Qxt + \ingroup QxtCore + \brief The Qxt Namespace + + The Qxt Namespace + +*/ + + +#if defined BUILD_QXT | defined Q_MOC_RUN +#include + +class QXT_CORE_EXPORT Qxt : public QObject +{ + Q_OBJECT + Q_ENUMS(Rotation) + Q_ENUMS(DecorationStyle) + Q_ENUMS(ErrorCode) + + +public: +#else +namespace Qxt +{ +#endif + + + + + /*! + \enum Qxt::Rotation + This enum describes the rotation. + */ + enum Rotation + { + NoRotation = 0, /*!< No rotation. */ + UpsideDown = 180, /*!< Upside down (180 degrees). */ + Clockwise = 90, /*!< Clockwise (90 degrees). */ + CounterClockwise = 270 /*!< CounterClockwise (-90 degrees). */ + }; + + /*! + \enum Qxt::DecorationStyle + + This enum describes the decoration style. + */ + + enum DecorationStyle + { + NoDecoration, /*!< No decoration */ + Buttonlike, /*!< A style like in Qt Designer's Widget Box. */ + Menulike /*!< A menu alike style. */ + }; + + + /*! + \enum Qxt::ErrorCode + The error Code dropped by QxtError + */ + enum ErrorCode + { + NoError, /*!< everything fine */ + UnknownError, /*!< a not defined error */ + LogicalError, /*!< something happened that makes no sense (e.g. you tryed to compare apples and bananas) */ + Bug, /*!< that should not happen. please report any ocurence of it. */ + UnexpectedEndOfFunction, /*!< suddenly the function returned where it should not. please report this behaiviour */ + NotImplemented, /*!< the feature you requested has not been implemented for this situation. this could also mean you are trying to compare apples and bananas. */ + CodecError, /*!< Something went wrong with some codec. Please check if your codec is supported */ + NotInitialised, /*!< Somone tryed to call a function of an object that needs to be start() ed or something like it. */ + EndOfFile, /*!< The end of the Input has been reached. There is no more data. */ + FileIOError, /*!< File Input/Output Error*/ + FormatError, /*!< The Format of the input is corupted or not supported. */ //10 + DeviceError, /*!< The Device of the Computer reported failure or we are not able to comunicate with it.*/ + SDLError, /*!< SDL reported an error */ + InsufficientMemory, /*!< Not enough memory to perform the action. */ + SeeErrorString, /*!< The Error has no definition here, but the Error String should tell you more. This is mostly used for third party errors. */ + UnexpectedNullParameter, /*!< NULL was passed where it shouldn't. */ + ClientTimeout, /*!< The Client didn't answer within the expected time rang. */ + SocketIOError, /*!< Socket Input/Output Error*/ + ParserError, /*!< Unable to parse the requested string or file.*/ + HeaderTooLong, /*!< The Header that was passed for parsing was too long.*/ + Auth, /*!< Authentification failed.*/ + Overflow /*!< Overflow protection triggered.*/ + + }; + +}; + +#endif + diff --git a/src/contrib/qxt/qxtnull.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtnull.cpp similarity index 100% rename from src/contrib/qxt/qxtnull.cpp rename to src/contrib/libqxt-2007-10-24/src/core/qxtnull.cpp diff --git a/src/contrib/qxt/qxtnull.h b/src/contrib/libqxt-2007-10-24/src/core/qxtnull.h similarity index 99% rename from src/contrib/qxt/qxtnull.h rename to src/contrib/libqxt-2007-10-24/src/core/qxtnull.h index c520b66d..e93c9fcd 100644 --- a/src/contrib/qxt/qxtnull.h +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtnull.h @@ -30,7 +30,7 @@ \class QxtNull QxtNull -\ingroup core +\ingroup QxtCore \brief An object representing the "null" value for QxtNullable. diff --git a/src/contrib/qxt/qxtnullable.h b/src/contrib/libqxt-2007-10-24/src/core/qxtnullable.h similarity index 98% rename from src/contrib/qxt/qxtnullable.h rename to src/contrib/libqxt-2007-10-24/src/core/qxtnullable.h index f9aa5e37..ae43147e 100644 --- a/src/contrib/qxt/qxtnullable.h +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtnullable.h @@ -24,7 +24,7 @@ /** \class QxtNullable QxtNullable -\ingroup core +\ingroup QxtCore \brief distinct null value compatible with any data type. in general it's a templated abstraction to allow any data type to be @@ -73,7 +73,7 @@ somefunction(1); #include template -class QXT_CORE_EXPORT QxtNullable +class /*QXT_CORE_EXPORT*/ QxtNullable { public: QxtNullable(QxtNull); diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtpairList.h b/src/contrib/libqxt-2007-10-24/src/core/qxtpairList.h new file mode 100644 index 00000000..f007c5bd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtpairList.h @@ -0,0 +1,169 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +/** +\class QxtPairList QxtPairList + +\ingroup kit + +\brief Searchable List of Pairs + + +Pair list provides a list with two values, a bit like QHash, but with posibility to operate on both values. + +in contrast to QHash, every entry has a unique id, you can work with. like a QList. + +\code +QxtPairList list; + +list.append(1,2); +list.append(1,5); +list.append(5,6); + +qDebug()<< list.find(1); // "0,1" +qDebug()<< list.find(SKIP,5); // "2" +qDebug()<< list.find(5); // "2" + +\endcode +you may allso play around with the list itself + +\code +list.list.append(qMakePair(1,2)); +\endcode + + +*/ + + +#include +#include +#include +#include + + + +template +class QXT_CORE_EXPORT QxtPairList +{ + + +public: + + QxtPairList() + {} + + QxtPairList( const QxtPairList & other ) + { + list= other.list; + } + + QxtPairList operator= ( const QxtPairList & other ) + { + list= other.list; + } + + + void append(T v1, K v2) + { + list.append(qMakePair(v1,v2)); + } + + + /** \brief search entrys by match + + both arguments are optional, due to the use of QxtNullable + + \code + find(SKIP,v2); + find(v1,SKIP); + find(v1); + \endcode + are all valid + */ + + QList find( qxNull(T,v1) , qxNull(K,v2) ) + { + QList found; + + if ((!v1.isNull()) and (!v2.isNull())) + { + for (int i=0;i nrs) + { + int i; + foreach (i,nrs) + list.removeAt(i); + } + + + + + /** \brief operate on the list directly + + you may use the internal list directly, but be carefull + dont expect to work the QxPairList to work normal if you mess around with it. + */ + + + QList > list; +}; + diff --git a/src/contrib/qxt/qxtpimpl.h b/src/contrib/libqxt-2007-10-24/src/core/qxtpimpl.h similarity index 99% rename from src/contrib/qxt/qxtpimpl.h rename to src/contrib/libqxt-2007-10-24/src/core/qxtpimpl.h index 1f7093ab..20d507ee 100644 --- a/src/contrib/qxt/qxtpimpl.h +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtpimpl.h @@ -23,7 +23,7 @@ ****************************************************************************/ /** \class QxtPimpl QxtPimpl -\ingroup core +\ingroup QxtCore \brief Hide private details of a class Application code generally doesn't have to be concerned about hiding its diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.cpp new file mode 100644 index 00000000..1b690d19 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.cpp @@ -0,0 +1,226 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#include "qxtpipe.h" +#include +#include +#include + +/** + * \class QxtPipe QxtPipe + * \ingroup QxtCore + * \brief a pipeable QIODevice + * + * pipes can be connected to other pipes, to exchange data \n + * The default implementation uses a buffer. \n + * Reimplement to make your custom class able to be connected into a pipe chain. \n + * + * Example usage: + * \code + * QxtPipe p1; + * QxtPipe p2; + * p1|p2; + * p1.write("hello world"); + * qDebug()< +{ + public: + QQueue q; + QList connections; +}; + +/** + * Contructs a new QxtPipe. + */ +QxtPipe::QxtPipe(QObject * parent):QIODevice(parent) +{ + setOpenMode (QIODevice::ReadWrite); +} + + +/** reimplemented from QIODevice*/ +bool QxtPipe::isSequential () const +{ + return true; +} + +/** reimplemented from QIODevice*/ +qint64 QxtPipe::bytesAvailable () const +{ + return qxt_d().q.count(); +} + +/** + * pipes the output of this instance to the \p other QxtPipe using the given mode and connectiontype \n + * connection pipes with this function can be considered thread safe \n + * + * Example usage: + * \code + QxtPipe p1; + QxtPipe p2; + p1.connect(&p2,QIODevice::ReadOnly); + + ///this data will go nowhere. p2 is connected to p1, but not p2 to p1. + p1.write("hello"); + + ///while this data will end up in p1 + p2.write("world"); + + qDebug()<connect(this,QIODevice::WriteOnly,connectionType); + } + + + Connection c; + c.pipe=other; + c.mode=mode; + c.connectionType=connectionType; + qxt_d().connections.append(c); + + return true; +} + +/** + * cuts the pipe to the \p other QxtPipe + */ +bool QxtPipe::disconnect (QxtPipe * other ) +{ + bool e=false; + + QMutableListIterator i(qxt_d().connections); + while (i.hasNext()) + { + i.next(); + if(i.value().pipe==other) + { + i.remove(); + e=true; + other->disconnect(this); + } + } + + return e; +} + +/** + * convinence function for QxtPipe::connect. + * pipes the output of this instance to the \p other QxtPipe in readwrite mode with autoconnection + */ +QxtPipe & QxtPipe::operator | ( QxtPipe & target) +{ + connect(&target); + return *this; +} + +/** reimplemented from QIODevice*/ +qint64 QxtPipe::readData ( char * data, qint64 maxSize ) +{ + QQueue * q=&qxt_d().q; + + qint64 i=0; + for (;iisEmpty()) + break; + (*data++)=q->dequeue(); + } + return i; +} + +/** reimplemented from QIODevice*/ +qint64 QxtPipe::writeData ( const char * data, qint64 maxSize ) +{ + foreach(Connection c,qxt_d().connections) + { + + if(!(c.mode & QIODevice::WriteOnly)) + continue; + + //we want thread safety, so we use a QByteArray instead of the raw data. that migth be slow + QMetaObject::invokeMethod(c.pipe, "receiveData",c.connectionType, + Q_ARG(QByteArray, data),Q_ARG(QxtPipe *,this)); + + } + return maxSize; +} + + +/** +receiveData is called from any connected pipe to input data into this instance. +*/ +qint64 QxtPipe::receiveData (QByteArray datab ,QxtPipe * sender) +{ + QQueue * q=&qxt_d().q; + + const char * data =datab.constData(); + qint64 maxSize =datab.size(); + + qint64 i=0; + for (;ienqueue(*data++); + + + foreach(Connection c,qxt_d().connections) + { + + //don't write back to sender + if(c.pipe==sender) + continue; + + if(!(c.mode & QIODevice::WriteOnly)) + continue; + + + QMetaObject::invokeMethod(c.pipe, "receiveData",c.connectionType, + Q_ARG(QByteArray, datab),Q_ARG(QxtPipe *,this)); + } + + + if (i>0) + emit(readyRead ()); + + return maxSize; +} + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.h b/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.h new file mode 100644 index 00000000..06b5743c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtpipe.h @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QxtPipe_H_GUARD +#define QxtPipe_H_GUARD +#include "qxtglobal.h" +#include "qxtpimpl.h" + +#include +#include + +class QxtPipePrivate; +class QXT_CORE_EXPORT QxtPipe : public QIODevice +{ +Q_OBJECT +public: + QxtPipe(QObject * parent=0); + + virtual bool isSequential () const; + virtual qint64 bytesAvailable () const; + + bool connect (QxtPipe * other , + QIODevice::OpenMode mode=QIODevice::ReadWrite, + Qt::ConnectionType connectionTyp=Qt::AutoConnection); + bool disconnect (QxtPipe * other ); + + QxtPipe & operator | (QxtPipe & target); + +protected: + virtual qint64 readData ( char * data, qint64 maxSize ); + virtual qint64 writeData ( const char * data, qint64 maxSize ); +private: + QXT_DECLARE_PRIVATE(QxtPipe); + +private slots: + virtual qint64 receiveData (QByteArray data, QxtPipe * sender ); +}; + +#endif + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.cpp new file mode 100644 index 00000000..a7be0fdf --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.cpp @@ -0,0 +1,136 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtsemaphore.h" + +/** +\class QxtSemaphore QxtSemaphore +\ingroup QxtCore +\brief system wide semaphore (former QxtSingleInstance) + + +\code + QxtSemaphore instance("com.mycompany.foobla.uniquestring"); + if(!instance.trylock()) + { + qDebug("already started") + } + +\endcode + +Note that the semaphore is autoaticly unlocked on destruction, but not on segfault,sigkill,etc...! +*/ + +#ifdef Q_WS_WIN +#include "Windows.h" + +class QxtSemaphorePrivate : public QxtPrivate +{ +public: + QString name; + unsigned sem_m; + void init() + { + sem_m=0; + } + + bool trylock() + { + sem_m = (unsigned ) CreateSemaphoreA ( NULL , 1 , 2 , qPrintable("Global\\"+name) ); + if (sem_m == 0 ) + return false; + return true; + } + bool unlock() + { + if (sem_m==0) + return false; + return CloseHandle((void *)sem_m); + } +}; + + + +#else + +#include +#include +#include + +class QxtSemaphorePrivate : public QxtPrivate +{ +public: + QString name; + sem_t* m_sem; + bool s_N; + void init() + { + s_N=false; + m_sem=NULL; + } + + bool trylock() + { + m_sem=sem_open(qPrintable(name), O_CREAT, S_IRUSR | S_IWUSR, 1); + if (m_sem==(sem_t*)(SEM_FAILED) || sem_trywait(m_sem)) + { + m_sem=NULL; + s_N=true; + return false; + } + s_N=false; + return true; + } + bool unlock() + { + if (m_sem==NULL) + return false; + if (!s_N) + { + sem_post(m_sem); + } + return (sem_close(m_sem)==0); + } +}; + +#endif + +QxtSemaphore::QxtSemaphore(QString uniqueID) +{ + qxt_d().name=uniqueID; + qxt_d().init(); +} + +QxtSemaphore::~QxtSemaphore() +{ + unlock(); +} + +bool QxtSemaphore::trylock() +{ + return qxt_d().trylock(); +} +bool QxtSemaphore::unlock() +{ + return qxt_d().unlock(); +} diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.h b/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.h new file mode 100644 index 00000000..e64410cb --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtsemaphore.h @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSEMAPHORE_H_NNN +#define QXTSEMAPHORE_H_NNN + +#include +#include +#include + +class QxtSemaphorePrivate; +class QXT_CORE_EXPORT QxtSemaphore +{ +public: + QxtSemaphore(QString ); + ~QxtSemaphore(); + bool trylock(); + bool unlock(); +private: + QXT_DECLARE_PRIVATE(QxtSemaphore); +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.cpp new file mode 100644 index 00000000..4820ddab --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.cpp @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +#include +#include +#include +#include + +QxtSignalWaiter::QxtSignalWaiter(const QObject* sender, const char* signal) : QObject(0) +{ + Q_ASSERT(sender && signal); + ready=false; + connect(sender, signal, this, SLOT(signalCaught())); + +} + +// Returns true if the signal was caught, returns false if the wait timed out +bool QxtSignalWaiter::wait(const QObject* sender, const char* signal, int msec) +{ + QxtSignalWaiter w(sender, signal); + return w.wait(msec); +} + +// Returns true if the signal was caught, returns false if the wait timed out +bool QxtSignalWaiter::wait(int msec,bool reset) +{ + // Check input parameters + if (msec < -1) return false; + + // activate the timeout + if (msec != -1) timerID = startTimer(msec); + + if(reset) + ready=false; + // Begin waiting + timeout = false; + while (!ready && !timeout) + QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents); + + // Clean up and return status + if (msec != -1) killTimer(timerID); + return ready || !timeout; +} + +void QxtSignalWaiter::signalCaught() +{ + ready = true; +} + +void QxtSignalWaiter::timerEvent(QTimerEvent* event) +{ + Q_UNUSED(event); + killTimer(timerID); + timeout = true; +} diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.h b/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.h new file mode 100644 index 00000000..13434002 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtsignalwaiter.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +#ifndef QXTSIGNALWAITER_H +#define QXTSIGNALWAITER_H +#include + +#include + +/** +\class QxtSignalWaiter QxtSignalWaiter + +\ingroup kit + +\brief Wait until a signal ocured + +In many cases, writing code that assumes certain actions are synchronous is considerably simpler than breaking your function into multiple blocks and using signals and slots to connect them all. Using this class, QSignalWaiter::wait will block until a certain signal is emitted and then return. The return value is true if the signal was caught, or false if a user-specified timeout elapses before catching the signal. + + + +\code +void MyObject::myFunction() { + QxtSignalWaiter waiter(myOtherObject, SIGNAL(longProcessFinished())); + myOtherObject->longProcess(); + if(waiter.wait(5000)) + doSomething(myOtherObject->information()); + else + QMessageBox::information(0, "MyObject", "Timed out while waiting on longProcessFinished()", QMessageBox::Ok); +} +\endcode + + +\bug +QxtSignalWaiter is, sadly, not reentrant. In particular, only one QxSignalWaiter object can be safely waiting at a time. If a second QxSignalWaiter is used while the first is waiting, the first will not return until the second has timed out or successfully caught its signal. A later revision of the class may be able to solve this problem. Until then, be careful not to rely on two QxtSignalWaiter objects at the same time. + +*/ +class QXT_CORE_EXPORT QxtSignalWaiter : public QObject +{ + Q_OBJECT +public: + + /** default constructor + Creates a QSignalWaiter and sets the default signal to sender::signal.*/ + QxtSignalWaiter(const QObject* sender, const char* signal); + + /** wait for signal + Waits for the signal sender::signal to be emitted. If msec is not -1, wait() will return after msec milliseconds. + If a signal is not specified, the default signal specified in the constructor is used instead. If no default signal was specified in the constructor, wait() will block until the timeout has elapsed. If no timeout was specified, wait() will return immediately.\n + Returns true if the signal was caught, false if it timed out. \n + This function is not reentrant. + */ + + bool wait(int msec = -1,bool reset=false); + static bool wait(const QObject* sender, const char* signal, int msec = -1); +protected: + void timerEvent(QTimerEvent* event); +private slots: + void signalCaught(); +private: + bool ready, timeout; + int timerID; +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.cpp new file mode 100644 index 00000000..bf8cee03 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.cpp @@ -0,0 +1,187 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtslotjob_p.h" + +/** +\class QxtSlotJob QxtSlotJob + +\ingroup QxtCore + +\brief Execute an arbitary Slot on a QThread. + +\warning It is essential to understand that the Qobject you pass is not safe to use untill done(); is emited or result() or join() is called. +*/ + +/*! +execute \p slot from \p precv on \p thread detached \n +returns a QFuture which offers the functions required to get the result.\n +\code + QxtFuture f= QxtSlotJob::detach(&thread,&q,SLOT(exec(QString)),Q_ARG(QString, "select NOW();")); +\endcode + +\warning keep your hands of \p recv until you called QFuture::result(); +*/ +QxtFuture QxtSlotJob::detach(QThread * thread,QObject* recv, const char* slot, + QGenericArgument p1, + QGenericArgument p2, + QGenericArgument p3, + QGenericArgument p4, + QGenericArgument p5, + QGenericArgument p6, + QGenericArgument p7, + QGenericArgument p8, + QGenericArgument p9, + QGenericArgument p10) + { + QxtSlotJob * p= new QxtSlotJob(recv,slot,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10); + connect(p,SIGNAL(done()),p,SLOT(deleteLater())); + return p->exec(thread); + } +/*! +Construct a new Job Object that will run \p slot from \p precv with the specified arguments +*/ +QxtSlotJob::QxtSlotJob(QObject* recv, const char* slot, + QGenericArgument p1, + QGenericArgument p2, + QGenericArgument p3, + QGenericArgument p4, + QGenericArgument p5, + QGenericArgument p6, + QGenericArgument p7, + QGenericArgument p8, + QGenericArgument p9, + QGenericArgument p10) + { + qxt_d().f=QxtMetaObject::bind(recv,slot,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10); + qxt_d().receiver=recv; + qxt_d().orginalthread=QThread::currentThread(); + + connect(this,SIGNAL(done()),this,SLOT(pdone())); + } +/*! +asks for the result of the execution. \n +This calls QxtJob::join() means it will _block_ the current thread untill the Slot has finished execution +*/ +QVariant QxtSlotJob::result() + { + join(); + return qxt_d().r; + } +/*! +execute this job on \p thread \n +\warning keep your hands of the Object you passed until you called result() or join() +*/ +QxtFuture QxtSlotJob::exec(QThread *thread) + { + qxt_d().receiver->moveToThread(thread); + QxtJob::exec(thread); + return QxtFuture(this); + } + +void QxtSlotJob::run() + { + qxt_d().r=qVariantFromValue(qxt_d().f->invoke()); + qxt_d().receiver->moveToThread(qxt_d().orginalthread); + } + + +void QxtSlotJob::pdone() +{ + emit(done(qxt_d().r)); +} + + + + + + + + + + +/** +\class QxtFuture QxtFuture + +\ingroup QxtCore + +\brief Reference to a future result of a QxtSlotJob + +*/ + +QxtFuture::QxtFuture(const QxtFuture& other):QObject() +{ + job=other.job; + connect(job,SIGNAL(done()),this,SIGNAL(done())); + connect(job,SIGNAL(done(QVariant)),this,SIGNAL(done(QVariant))); + waiter=new QxtSignalWaiter(job,SIGNAL(done())); +} + +QxtFuture::QxtFuture(QxtSlotJob* j):QObject() +{ + job=j; + connect(job,SIGNAL(done()),this,SIGNAL(done())); + connect(job,SIGNAL(done(QVariant)),this,SIGNAL(done(QVariant))); + waiter=new QxtSignalWaiter(job,SIGNAL(done())); +} + +QxtFuture::~QxtFuture() +{ + delete waiter; +} +/*! +asks for the result of the execution. \n +This calls QxtJob::join() means it will _block_ the current thread untill the Slot has finished execution +*/ +QVariant QxtFuture::joinedResult() +{ + return job->result(); +} + + + +/*! +asks for the result of the execution. \n +waits until the done() signal occured +or return a QVariant() if the timout ocures earlier \n +This uses QxtSignalWaiter so it will _not_ block your current thread. +\warning this function is not reentrant. You have been warned + +*/ + + + +QVariant QxtFuture::delayedResult(int msec) +{ + if(!waiter->wait(msec,false)) + return QVariant(); + return job->result(); +} + + + + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.h b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.h new file mode 100644 index 00000000..082ca01e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob.h @@ -0,0 +1,108 @@ + +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTJOB_H_GUARD +#define QXTJOB_H_GUARD + + +#include + +#include +#include +#include + + +class QxtSignalWaiter; +class QxtSlotJob; +class QXT_CORE_EXPORT QxtFuture: public QObject +{ +Q_OBJECT +public: + QVariant delayedResult(int msec=-1); + QVariant joinedResult(); + + QxtFuture(const QxtFuture& other); + ~QxtFuture(); +private: + friend class QxtSlotJob; + QxtFuture(QxtSlotJob* j); + QxtSlotJob * job; + QxtSignalWaiter * waiter; +signals: + void done(); + void done(QVariant); +}; + + +class QxtSlotJobPrivate; +class QThread; +class QXT_CORE_EXPORT QxtSlotJob : public QxtJob +{ +Q_OBJECT +public: + static QxtFuture detach(QThread * o,QObject* recv, const char* slot, + QGenericArgument p1=QGenericArgument(), + QGenericArgument p2=QGenericArgument(), + QGenericArgument p3=QGenericArgument(), + QGenericArgument p4=QGenericArgument(), + QGenericArgument p5=QGenericArgument(), + QGenericArgument p6=QGenericArgument(), + QGenericArgument p7=QGenericArgument(), + QGenericArgument p8=QGenericArgument(), + QGenericArgument p9=QGenericArgument(), + QGenericArgument p10=QGenericArgument()); + + QxtSlotJob(QObject* recv, const char* slot, + QGenericArgument p1=QGenericArgument(), + QGenericArgument p2=QGenericArgument(), + QGenericArgument p3=QGenericArgument(), + QGenericArgument p4=QGenericArgument(), + QGenericArgument p5=QGenericArgument(), + QGenericArgument p6=QGenericArgument(), + QGenericArgument p7=QGenericArgument(), + QGenericArgument p8=QGenericArgument(), + QGenericArgument p9=QGenericArgument(), + QGenericArgument p10=QGenericArgument()); + + QVariant result(); + QxtFuture exec(QThread *o); + +protected: + virtual void run(); +signals: + void done(QVariant); +private: + QXT_DECLARE_PRIVATE(QxtSlotJob); +///must not be in pimpl. that's heavy doom when they are both Qobject and one moves to another thread +private slots: + void pdone(); + +}; + + + + +#endif + + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob_p.h b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob_p.h new file mode 100644 index 00000000..ef67fd31 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtslotjob_p.h @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtslotjob.h" +#include +#include + +class QxtSlotJobPrivate : public QObject,public QxtPrivate +{ +public: + QxtBoundFunction * f; + QVariant r; + QThread * orginalthread; + QObject * receiver; + QXT_DECLARE_PUBLIC(QxtSlotJob); +}; + diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtstdio.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtstdio.cpp new file mode 100644 index 00000000..2d967725 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtstdio.cpp @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstdio.h" +#include +#include + +/** +\class QxtStdio QxtStdio + +\ingroup QxtCore + +\brief QIODevice support for stdin and stdout + +including readyRead() signal +note that when using this class, the buffers for stdin/stdout will be disabled, and NOT reenabled on destruction + +perfect as a counter part for QProcess +*/ + +QxtStdio::QxtStdio(QObject * parent):QIODevice(parent) +{ + setvbuf ( stdin , NULL , _IONBF , 0 ); + setvbuf ( stdout , NULL , _IONBF , 0 ); + + setOpenMode (QIODevice::ReadWrite); + notify = new QSocketNotifier ( + +#ifdef Q_CC_MSVC + _fileno(stdin) +#else + fileno(stdin) +#endif + + ,QSocketNotifier::Read,this ); + connect(notify, SIGNAL(activated(int)),this,SLOT(activated(int))); +} + +qint64 QxtStdio::readData ( char * data, qint64 maxSize ) +{ + qint64 i=0; + for (;i +** +****************************************************************************/ +#ifndef QxtStdin_H_GUARD +#define QxtStdin_H_GUARD +#include +#include +#include + +class QSocketNotifier; +class QXT_CORE_EXPORT QxtStdio : public QIODevice +{ + Q_OBJECT +public: + QxtStdio(QObject * parent=0); + virtual bool isSequential () const; + virtual qint64 bytesAvailable () const; +protected: + virtual qint64 readData ( char * data, qint64 maxSize ); + virtual qint64 writeData ( const char * data, qint64 maxSize ); +private: + QSocketNotifier * notify; + QQueue inbuffer; +private slots: + void activated(int ); + +}; +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.cpp b/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.cpp new file mode 100644 index 00000000..3a2e6161 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstdstreambufdevice.h" + +/** +\class QxtStdStreambufDevice QxtStdStreambufDevice + +\ingroup QxtCore + +\brief QIODevice support for std::streambuf + +does NOT include the readyRead() signal + +*/ + +/** +\fn QxtStdStreambufDevice::QxtStdStreambufDevice(std::streambuf * b,QObject * parent) + +creates a QxtStdStreambufDevice using a single stream buffer as in and output + + */ +QxtStdStreambufDevice::QxtStdStreambufDevice(std::streambuf * b,QObject * parent):QIODevice(parent),buff(b) +{ + setOpenMode (QIODevice::ReadWrite); ///we don't know the real state + buff_w=0; +} +/** +\fn QxtStdStreambufDevice::QxtStdStreambufDevice(std::streambuf * r,std::streambuf * w,QObject * parent) +creates a QxtStdStreambufDevice using \p r to read and \p w to write + */ + +QxtStdStreambufDevice::QxtStdStreambufDevice(std::streambuf * r,std::streambuf * w,QObject * parent):QIODevice(parent),buff(r),buff_w(w) +{ + setOpenMode (QIODevice::ReadWrite); +} +bool QxtStdStreambufDevice::isSequential() const +{ + return true;///for now +} + +qint64 QxtStdStreambufDevice::bytesAvailable () const +{ + return buff->in_avail(); +} +qint64 QxtStdStreambufDevice::readData ( char * data, qint64 maxSize ) +{ + return buff->sgetn(data,maxSize); +} + +qint64 QxtStdStreambufDevice::writeData ( const char * data, qint64 maxSize ) +{ + if (buff_w) + return buff_w->sputn(data,maxSize); + return buff->sputn(data,maxSize); +} diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.h b/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.h new file mode 100644 index 00000000..548351c7 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtstdstreambufdevice.h @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QxtStdStreambufDevice_HEADER_GUARD +#define QxtStdStreambufDevice_HEADER_GUARD + +#include +#include +#include +#include "qxtglobal.h" + +class QXT_CORE_EXPORT QxtStdStreambufDevice : public QIODevice +{ + Q_OBJECT +public: + QxtStdStreambufDevice(std::streambuf *,QObject * parent=0); /// one rw device + QxtStdStreambufDevice(std::streambuf * r,std::streambuf * w,QObject * parent=0); ///one for read and one for write + + virtual bool isSequential () const; + virtual qint64 bytesAvailable () const; +protected: + virtual qint64 readData ( char * data, qint64 maxSize ); + virtual qint64 writeData ( const char * data, qint64 maxSize ); + + +private: + std::streambuf * buff; + std::streambuf * buff_w; + +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxttuple.h b/src/contrib/libqxt-2007-10-24/src/core/qxttuple.h new file mode 100644 index 00000000..555091e6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxttuple.h @@ -0,0 +1,441 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTTUPLE_H +#define QXTTUPLE_H +#include + +namespace QxtType +{ + +template +struct get + { + typedef typename get::type type; + }; + +template +struct get + {}; // does not define type + +template +struct get + { + typedef typename TYPELIST::head type; + }; + +template class QxtTuple; +template8)> struct QxtTupleValue; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return QxtTupleValue::value(&t->extend); + } + + static void setValue(QxtTuple* t, typename get::type val) + { + QxtTupleValue::setValue(&t->extend, val); + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t1; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t1 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t2; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t2 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t3; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t3 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t4; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t4 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t5; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t5 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t6; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t6 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t7; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t7 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t8; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t8 = val; + } +}; + +template struct QxtTupleValue +{ + static typename get::type value(QxtTuple* t) + { + return t->t9; + } + static void setValue(QxtTuple* t, typename get::type val) + { + t->t9 = val; + } +}; + +//----------------------------------------------------------------------------------------------- + +template +/** +\class QxtTuple QxtTuple + +\ingroup QxtCore + +\brief Arbitrary-length templated list + +Tuples and cons pairs are both pretty common template metaprogramming hacks. This set of classes +attempts to implement a healthy balance between the two. Tuples generally are implemented with a +fixed length; cons pairs have a lot of overhead and require a ton of typing. As with all template +metaprograms, it may take a while to compile. + +It is recommended to use the convenience macros to create tuples, but you can construct the +QxtTypeList template yourself if you desire; this may be preferable if you want to write generic +functions that use tuples. + +----- example: +\code +#include +#include +using namespace std; + +int main(int argc, char** argv) { + Qxt7Tuple(bool, char, short, int, long long, float, double) tuple; + + tuple.setValue<0>(true); + tuple.setValue<1>('a'); + tuple.setValue<2>(32767); + tuple.setValue<3>(1234567); + tuple.setValue<4>(987654321); + tuple.setValue<5>(1.414); + tuple.setValue<6>(3.14159265); + + cout << 0 << "=" << tuple.value<0>() << endl; + cout << 1 << "=" << tuple.value<1>() << endl; + cout << 2 << "=" << tuple.value<2>() << endl; + cout << 3 << "=" << tuple.value<3>() << endl; + cout << 4 << "=" << tuple.value<4>() << endl; + cout << 5 << "=" << tuple.value<5>() << endl; + cout << 6 << "=" << tuple.value<6>() << endl; +} +\endcode +*/ + +class QxtTuple +{ +public: + template typename get::type value() + { + return QxtTupleValue::value(this); + } + template void setValue(typename get::type val) + { + QxtTupleValue::setValue(this, val); + } + bool operator<(const QxtTuple& other) + { + if (t1 < other.t1) return true; + if (t2 < other.t2) return true; + if (t3 < other.t3) return true; + if (t4 < other.t4) return true; + if (t5 < other.t5) return true; + if (t6 < other.t6) return true; + if (t7 < other.t7) return true; + if (t8 < other.t8) return true; + if (t9 < other.t9) return true; + return false; + } + bool operator==(const QxtTuple& other) + { + if (t1 != other.t1) return false; + if (t2 != other.t2) return false; + if (t3 != other.t3) return false; + if (t4 != other.t4) return false; + if (t5 != other.t5) return false; + if (t6 != other.t6) return false; + if (t7 != other.t7) return false; + if (t8 != other.t8) return false; + if (t9 != other.t9) return false; + return true; + } + bool operator>=(const QxtTuple& other) + { + return !(*this < other); + } + bool operator<=(const QxtTuple& other) + { + if (t1 <= other.t1) return true; + if (t2 <= other.t2) return true; + if (t3 <= other.t3) return true; + if (t4 <= other.t4) return true; + if (t5 <= other.t5) return true; + if (t6 <= other.t6) return true; + if (t7 <= other.t7) return true; + if (t8 <= other.t8) return true; + if (t9 <= other.t9) return true; + return false; + } + bool operator>(const QxtTuple& other) + { + return !(*this <= other); + } + bool operator!=(const QxtTuple& other) + { + return !(*this == other); + } + + +// if only we could get away with making these protected + typename get::type t1; + typename get::type t2; + typename get::type t3; + typename get::type t4; + typename get::type t5; + typename get::type t6; + typename get::type t7; + typename get::type t8; + typename get::type t9; +}; + +//----------------------------------------------------------------------------------------------- + +template +class QxtTuple +{ +public: + template typename get::type value() + { + return QxtTupleValue::value(this); + } + template void setValue(typename get::type val) + { + QxtTupleValue::setValue(this, val); + } + bool operator<(const QxtTuple& other) + { + if (t1 < other.t1) return true; + if (t2 < other.t2) return true; + if (t3 < other.t3) return true; + if (t4 < other.t4) return true; + if (t5 < other.t5) return true; + if (t6 < other.t6) return true; + if (t7 < other.t7) return true; + if (t8 < other.t8) return true; + if (t9 < other.t9) return true; + if (extend < other.extend) return true; + return false; + } + bool operator==(const QxtTuple& other) + { + if (t1 != other.t1) return false; + if (t2 != other.t2) return false; + if (t3 != other.t3) return false; + if (t4 != other.t4) return false; + if (t5 != other.t5) return false; + if (t6 != other.t6) return false; + if (t7 != other.t7) return false; + if (t8 != other.t8) return false; + if (t9 != other.t9) return false; + if (extend != other.extend) return false; + return true; + } + bool operator>=(const QxtTuple& other) + { + return !(*this < other); + } + bool operator<=(const QxtTuple& other) + { + if (t1 <= other.t1) return true; + if (t2 <= other.t2) return true; + if (t3 <= other.t3) return true; + if (t4 <= other.t4) return true; + if (t5 <= other.t5) return true; + if (t6 <= other.t6) return true; + if (t7 <= other.t7) return true; + if (t8 <= other.t8) return true; + if (t9 <= other.t9) return true; + if (extend <= other.extend) return true; + return false; + } + bool operator>(const QxtTuple& other) + { + return !(*this <= other); + } + bool operator!=(const QxtTuple& other) + { + return !(*this == other); + } + +// if only we could get away with making these protected + typename get::type t1; + typename get::type t2; + typename get::type t3; + typename get::type t4; + typename get::type t5; + typename get::type t6; + typename get::type t7; + typename get::type t8; + typename get::type t9; + QxtTuple extend; +}; + +} + +#ifndef QXT_NO_USING +using QxtType::QxtTuple; +#endif + +#ifndef QXT_NO_MACROS +/*! \relates QxtTuple + * Declares a one-column tuple. + */ +#define Qxt1Tuple(a) QxtTuple > + +/*! \relates QxtTuple + * Declares a two-column tuple, similar to QPair. + */ +#define Qxt2Tuple(a, b) QxtTuple > + +/*! \relates QxtTuple + * Declares a three-column tuple, similar to QxtTriple. + */ +#define Qxt3Tuple(a, b, c) QxtTuple > + +/*! \relates QxtTuple + * Declares a four-column tuple. + */ +#define Qxt4Tuple(a, b, c, d) QxtTuple > + +/*! \relates QxtTuple + * Declares a five-column tuple. + */ +#define Qxt5Tuple(a, b, c, d, e) QxtTuple > + +/*! \relates QxtTuple + * Declares a six-column tuple. + */ +#define Qxt6Tuple(a, b, c, d, e, f) QxtTuple > + +/*! \relates QxtTuple + * Declares a seven-column tuple. + */ +#define Qxt7Tuple(a, b, c, d, e, f, g) QxtTuple > + +/*! \relates QxtTuple + * Declares an eight-column tuple. + */ +#define Qxt8Tuple(a, b, c, d, e, f, g, h) QxtTuple > + +/*! \relates QxtTuple + * Declares a nine-column tuple. + */ +#define Qxt9Tuple(a, b, c, d, e, f, g, h, i) QxtTuple > + +/*! \relates QxtTuple + * Declares an extended tuple with ten or more columns. Pay special attention to the syntax of the tenth parameter, which + * must be a QxtTypeList, not a storage type. +\code +QxtLongTuple(int, int, int, int, int, int, int, int, int, Qxt1TypeList(int)) tuple; // correct way to implement a 10-tuple +QxtLongTuple(int, int, int, int, int, int, int, int, int, int) tuple; // this will produce a (very long) compile-time error +\endcode + */ +#define QxtLongTuple(a, b, c, d, e, f, g, h, i, extend) QxtTuple, true > + +#endif + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxttuplelist.h b/src/contrib/libqxt-2007-10-24/src/core/qxttuplelist.h new file mode 100644 index 00000000..ba6b03dd --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxttuplelist.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +QList find( qxNull(T,args)[] ) +{ + QList found; + + bool hit; + for (int i=0;i +** +****************************************************************************/ +#ifndef QXTTYPELIST_H +#define QXTTYPELIST_H +#include + +namespace QxtType +{ +struct NoExtend +{ + typedef QxtNull head; + enum { length = 0, extends = false }; +}; + +template +struct QxtTypeList; + +template +struct QxtTypeList +{ + typedef T1 head; + typedef QxtTypeList tail; + typedef EXTEND extend; + enum { length = tail::length + 1, extends = EXTEND::extends }; +}; + +template +struct QxtTypeList +{ + typedef typename EXTEND::head head; + typedef typename EXTEND::tail tail; + typedef EXTEND extend; + enum { length = EXTEND::length, extends = EXTEND::extends }; +}; + +template<> +struct QxtTypeList +{ + typedef QxtNull extend; + enum { length = 0, extends = false }; +}; +} + +#ifndef QXT_NO_USING +using QxtType::QxtTypeList; +#endif + +#ifndef QXT_NO_MACROS +/*! \relates QxtTypeList + * Declares a one-column tuple. + */ +#define Qxt1TypeList(a) QxtTypeList
    + +/*! \relates QxtTypeList + * Declares a two-column tuple, similar to QPair. + */ +#define Qxt2TypeList(a, b) QxtTypeList + +/*! \relates QxtTypeList + * Declares a three-column tuple, similar to QxtTriple. + */ +#define Qxt3TypeList(a, b, c) QxtTypeList + +/*! \relates QxtTypeList + * Declares a four-column tuple. + */ +#define Qxt4TypeList(a, b, c, d) QxtTypeList + +/*! \relates QxtTypeList + * Declares a five-column tuple. + */ +#define Qxt5TypeList(a, b, c, d, e) QxtTypeList + +/*! \relates QxtTypeList + * Declares a six-column tuple. + */ +#define Qxt6TypeList(a, b, c, d, e, f) QxtTypeList + +/*! \relates QxtTypeList + * Declares a seven-column tuple. + */ +#define Qxt7TypeList(a, b, c, d, e, f, g) QxtTypeList + +/*! \relates QxtTypeList + * Declares an eight-column tuple. + */ +#define Qxt8TypeList(a, b, c, d, e, f, g, h) QxtTypeList + +/*! \relates QxtTypeList + * Declares a nine-column tuple. + */ +#define Qxt9TypeList(a, b, c, d, e, f, g, h, i) QxtTypeList + +/*! \relates QxtTypeList + * Declares an extended tuple with ten or more columns. Pay special attention to the syntax of the tenth parameter, which + * must be a QxtTypeList, not a storage type. +\code +QxtLongTypeList(int, int, int, int, int, int, int, int, int, Qxt1TypeList(int)) tuple; // correct way to implement a 10-tuple +QxtLongTypeList(int, int, int, int, int, int, int, int, int, int) tuple; // this will produce a (very long) compile-time error +\endcode + */ +#define QxtLongTypeList(a, b, c, d, e, f, g, h, i, extend) QxtTypeList +#endif + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/crypto.pro b/src/contrib/libqxt-2007-10-24/src/crypto/crypto.pro new file mode 100644 index 00000000..c005323b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/crypto.pro @@ -0,0 +1,30 @@ +TARGET = QxtCrypto +DESTDIR = ../../deploy/libs/ +DEPENDPATH += . +INCLUDEPATH += . thirdparty ../core + +DEFINES += BUILD_QXT_CRYPTO +win32: CONFIG += dll +QT = core +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +include(../../config.pri) + +SOURCES+= thirdparty/md5.cpp thirdparty/md4.cpp + + +HEADERS += qxthash.h +SOURCES += qxthash.cpp + + +contains(DEFINES,HAVE_OPENSSL){ +HEADERS += qxtblowfish.h +SOURCES += qxtblowfish.cpp +LIBS+=-lssl +} + + + diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.cpp b/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.cpp new file mode 100644 index 00000000..6738df48 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.cpp @@ -0,0 +1,138 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCrypto module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + + +#include "qxtblowfish.h" +#include + + + +/** +\class QxtBlowFish QxtBlowFish + +\ingroup QxtCrypto + +\brief Blowfish Encryption Class + + +useage: +\code +QxtBlowFish() fish; +fish.setPassword("foobar"). + +QByteArray a("barblah"); + +a= fish.encrypt(a); +a= fish.decrypt(a); +\endcode +*/ + + + + + +QxtBlowFish::QxtBlowFish(QObject * parent) :QObject(parent) +{ + key=new BF_KEY; +} + +QxtBlowFish::~QxtBlowFish() +{ + delete(key); +} + + +void QxtBlowFish::setPassword(QByteArray k ) +{ + BF_set_key(key, k.count() , (unsigned char *)k.constData ()); +} + + + +QByteArray QxtBlowFish::encrypt(QByteArray in) +{ + QByteArray out(in); + int num =0; + unsigned char ivec [9]; + ivec[0]=(unsigned char )3887; + ivec[1]=(unsigned char )3432; + ivec[2]=(unsigned char )3887; + ivec[3]=(unsigned char )2344; + ivec[4]=(unsigned char )678; + ivec[5]=(unsigned char )3887; + ivec[6]=(unsigned char )575; + ivec[7]=(unsigned char )2344; + ivec[8]=(unsigned char )2222; + + + BF_cfb64_encrypt( + (unsigned char *)in.constData (), + (unsigned char *)out.data(), + in.size(), + key, + ivec, + &num, + BF_ENCRYPT + ); + + + out=out.toBase64(); + return out; + +} + + +QByteArray QxtBlowFish::decrypt(QByteArray in) + +{ + in=QByteArray::fromBase64(in); + + QByteArray out(in); + + int num =0; + unsigned char ivec [9]; + ivec[0]=(unsigned char )3887; + ivec[1]=(unsigned char )3432; + ivec[2]=(unsigned char )3887; + ivec[3]=(unsigned char )2344; + ivec[4]=(unsigned char )678; + ivec[5]=(unsigned char )3887; + ivec[6]=(unsigned char )575; + ivec[7]=(unsigned char )2344; + ivec[8]=(unsigned char )2222; + + + BF_cfb64_encrypt( + (unsigned char *)in.constData (), + (unsigned char *)out.data(), + in.size(), + key, + ivec, + &num, + BF_DECRYPT + ); + + + return out; +} diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.h b/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.h new file mode 100644 index 00000000..80b4ca5c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/qxtblowfish.h @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCrypto module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXT__BLOWFISH_H_sadasd +#define QXT__BLOWFISH_H_sadasd + +#include +#include +#include +struct bf_key_st; +class QXT_NETWORK_EXPORT QxtBlowFish : public QObject +{ + Q_OBJECT + +public: + QxtBlowFish(QObject * parent = 0); + ~QxtBlowFish(); + + void setPassword(QByteArray); + QByteArray encrypt(QByteArray); + QByteArray decrypt(QByteArray); + +private: + bf_key_st * key; + +}; + + +#endif + + diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/qxthash.cpp b/src/contrib/libqxt-2007-10-24/src/crypto/qxthash.cpp new file mode 100644 index 00000000..fb035fef --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/qxthash.cpp @@ -0,0 +1,128 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCrypto module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#include "qxthash.h" +#include "qxthash_p.h" + +/** +\class QxtHash QxtHash + +\ingroup QxtCrypto + +\brief Hashing funcions + +\code +qDebug()< +** +****************************************************************************/ + +#ifndef QxtHash_H_GUARD +#define QxtHash_H_GUARD + +#include +#include +#include "qxtpimpl.h" + +class QxtHashPrivate; +class QXT_CRYPTO_EXPORT QxtHash +{ + QXT_DECLARE_PRIVATE(QxtHash); +public: + enum Algorithm + { + Md5, + Md4 + }; + QxtHash (Algorithm); + QxtHash (Algorithm, const QByteArray & ); + + void append ( const QByteArray & ); + void operator+= ( const QByteArray &); + + void reset(); + + QByteArray hash(); +}; + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/qxthash_p.h b/src/contrib/libqxt-2007-10-24/src/crypto/qxthash_p.h new file mode 100644 index 00000000..6c4a6f47 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/qxthash_p.h @@ -0,0 +1,12 @@ +#include "md5.h" +#include "md4.h" +class QxtHashPrivate : public QxtPrivate +{ +public: + + QxtHash::Algorithm algo; + + MD5Context md5ctx; + md4_context md4ctx; +}; + diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.cpp b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.cpp new file mode 100644 index 00000000..60b13736 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.cpp @@ -0,0 +1,261 @@ +/* + * MD4 (RFC-1320) message digest. + * Modified from MD5 code by Andrey Panin + * + * Written by Solar Designer in 2001, and placed in + * the public domain. There's absolutely no warranty. + * + * This differs from Colin Plumb's older public domain implementation in + * that no 32-bit integer data type is required, there's no compile-time + * endianness configuration, and the function prototypes match OpenSSL's. + * The primary goals are portability and ease of use. + * + * This implementation is meant to be fast, but not as fast as possible. + * Some known optimizations are not included to reduce source code size + * and avoid compile-time configuration. + */ + +#include "md4.h" + +#include + +/* + * The basic MD4 functions. + */ +#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) +#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) +#define H(x, y, z) ((x) ^ (y) ^ (z)) + +/* + * The MD4 transformation for all four rounds. + */ +#define STEP(f, a, b, c, d, x, s) \ + (a) += f((b), (c), (d)) + (x); \ + (a) = ((a) << (s)) | ((a) >> (32 - (s))) + + +/* + * SET reads 4 input bytes in little-endian byte order and stores them + * in a properly aligned word in host byte order. + * + * The check for little-endian architectures which tolerate unaligned + * memory accesses is just an optimization. Nothing will break if it + * doesn't work. + */ +#if defined(__i386__) || defined(__x86_64__) +#define SET(n) \ + (*(const quint32 *)&ptr[(n) * 4]) +#define GET(n) \ + SET(n) +#else +#define SET(n) \ + (ctx->block[(n)] = \ + (quint32)ptr[(n) * 4] | \ + ((quint32)ptr[(n) * 4 + 1] << 8) | \ + ((quint32)ptr[(n) * 4 + 2] << 16) | \ + ((quint32)ptr[(n) * 4 + 3] << 24)) +#define GET(n) \ + (ctx->block[(n)]) +#endif + +/* + * This processes one or more 64-byte data blocks, but does NOT update + * the bit counters. There're no alignment requirements. + */ +static const unsigned char *body(struct md4_context *ctx, const unsigned char *data, size_t size) +{ + const unsigned char *ptr; + quint32 a, b, c, d; + quint32 saved_a, saved_b, saved_c, saved_d; + + ptr = data; + + a = ctx->a; + b = ctx->b; + c = ctx->c; + d = ctx->d; + + do { + saved_a = a; + saved_b = b; + saved_c = c; + saved_d = d; + +/* Round 1 */ + STEP(F, a, b, c, d, SET( 0), 3); + STEP(F, d, a, b, c, SET( 1), 7); + STEP(F, c, d, a, b, SET( 2), 11); + STEP(F, b, c, d, a, SET( 3), 19); + + STEP(F, a, b, c, d, SET( 4), 3); + STEP(F, d, a, b, c, SET( 5), 7); + STEP(F, c, d, a, b, SET( 6), 11); + STEP(F, b, c, d, a, SET( 7), 19); + + STEP(F, a, b, c, d, SET( 8), 3); + STEP(F, d, a, b, c, SET( 9), 7); + STEP(F, c, d, a, b, SET(10), 11); + STEP(F, b, c, d, a, SET(11), 19); + + STEP(F, a, b, c, d, SET(12), 3); + STEP(F, d, a, b, c, SET(13), 7); + STEP(F, c, d, a, b, SET(14), 11); + STEP(F, b, c, d, a, SET(15), 19); +/* Round 2 */ + STEP(G, a, b, c, d, GET( 0) + 0x5A827999, 3); + STEP(G, d, a, b, c, GET( 4) + 0x5A827999, 5); + STEP(G, c, d, a, b, GET( 8) + 0x5A827999, 9); + STEP(G, b, c, d, a, GET(12) + 0x5A827999, 13); + + STEP(G, a, b, c, d, GET( 1) + 0x5A827999, 3); + STEP(G, d, a, b, c, GET( 5) + 0x5A827999, 5); + STEP(G, c, d, a, b, GET( 9) + 0x5A827999, 9); + STEP(G, b, c, d, a, GET(13) + 0x5A827999, 13); + + STEP(G, a, b, c, d, GET( 2) + 0x5A827999, 3); + STEP(G, d, a, b, c, GET( 6) + 0x5A827999, 5); + STEP(G, c, d, a, b, GET(10) + 0x5A827999, 9); + STEP(G, b, c, d, a, GET(14) + 0x5A827999, 13); + + STEP(G, a, b, c, d, GET( 3) + 0x5A827999, 3); + STEP(G, d, a, b, c, GET( 7) + 0x5A827999, 5); + STEP(G, c, d, a, b, GET(11) + 0x5A827999, 9); + STEP(G, b, c, d, a, GET(15) + 0x5A827999, 13); +/* Round 3 */ + STEP(H, a, b, c, d, GET( 0) + 0x6ED9EBA1, 3); + STEP(H, d, a, b, c, GET( 8) + 0x6ED9EBA1, 9); + STEP(H, c, d, a, b, GET( 4) + 0x6ED9EBA1, 11); + STEP(H, b, c, d, a, GET(12) + 0x6ED9EBA1, 15); + + STEP(H, a, b, c, d, GET( 2) + 0x6ED9EBA1, 3); + STEP(H, d, a, b, c, GET(10) + 0x6ED9EBA1, 9); + STEP(H, c, d, a, b, GET( 6) + 0x6ED9EBA1, 11); + STEP(H, b, c, d, a, GET(14) + 0x6ED9EBA1, 15); + + STEP(H, a, b, c, d, GET( 1) + 0x6ED9EBA1, 3); + STEP(H, d, a, b, c, GET( 9) + 0x6ED9EBA1, 9); + STEP(H, c, d, a, b, GET( 5) + 0x6ED9EBA1, 11); + STEP(H, b, c, d, a, GET(13) + 0x6ED9EBA1, 15); + + STEP(H, a, b, c, d, GET( 3) + 0x6ED9EBA1, 3); + STEP(H, d, a, b, c, GET(11) + 0x6ED9EBA1, 9); + STEP(H, c, d, a, b, GET( 7) + 0x6ED9EBA1, 11); + STEP(H, b, c, d, a, GET(15) + 0x6ED9EBA1, 15); + + a += saved_a; + b += saved_b; + c += saved_c; + d += saved_d; + + ptr += 64; + } while (size -= 64); + + ctx->a = a; + ctx->b = b; + ctx->c = c; + ctx->d = d; + + return ptr; +} + +static void md4_init(struct md4_context *ctx) +{ + ctx->a = 0x67452301; + ctx->b = 0xefcdab89; + ctx->c = 0x98badcfe; + ctx->d = 0x10325476; + + ctx->lo = 0; + ctx->hi = 0; +} + +static void md4_update(struct md4_context *ctx, const unsigned char *data, size_t size) +{ + /* @UNSAFE */ + quint32 saved_lo; + unsigned long used, free; + + saved_lo = ctx->lo; + if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) + ctx->hi++; + ctx->hi += size >> 29; + + used = saved_lo & 0x3f; + + if (used) { + free = 64 - used; + + if (size < free) { + memcpy(&ctx->buffer[used], data, size); + return; + } + + memcpy(&ctx->buffer[used], data, free); + data = (const unsigned char *) data + free; + size -= free; + body(ctx, ctx->buffer, 64); + } + + if (size >= 64) { + data = body(ctx, data, size & ~(unsigned long)0x3f); + size &= 0x3f; + } + + memcpy(ctx->buffer, data, size); +} + +static void md4_final(struct md4_context *ctx, unsigned char result[MD4_RESULTLEN]) +{ + /* @UNSAFE */ + unsigned long used, free; + + used = ctx->lo & 0x3f; + + ctx->buffer[used++] = 0x80; + + free = 64 - used; + + if (free < 8) { + memset(&ctx->buffer[used], 0, free); + body(ctx, ctx->buffer, 64); + used = 0; + free = 64; + } + + memset(&ctx->buffer[used], 0, free - 8); + + ctx->lo <<= 3; + ctx->buffer[56] = ctx->lo; + ctx->buffer[57] = ctx->lo >> 8; + ctx->buffer[58] = ctx->lo >> 16; + ctx->buffer[59] = ctx->lo >> 24; + ctx->buffer[60] = ctx->hi; + ctx->buffer[61] = ctx->hi >> 8; + ctx->buffer[62] = ctx->hi >> 16; + ctx->buffer[63] = ctx->hi >> 24; + + body(ctx, ctx->buffer, 64); + + result[0] = ctx->a; + result[1] = ctx->a >> 8; + result[2] = ctx->a >> 16; + result[3] = ctx->a >> 24; + result[4] = ctx->b; + result[5] = ctx->b >> 8; + result[6] = ctx->b >> 16; + result[7] = ctx->b >> 24; + result[8] = ctx->c; + result[9] = ctx->c >> 8; + result[10] = ctx->c >> 16; + result[11] = ctx->c >> 24; + result[12] = ctx->d; + result[13] = ctx->d >> 8; + result[14] = ctx->d >> 16; + result[15] = ctx->d >> 24; + + memset(ctx, 0, sizeof(*ctx)); +} + +#undef F +#undef G +#undef H diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.h b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.h new file mode 100644 index 00000000..b44e4656 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md4.h @@ -0,0 +1,28 @@ +/* + * This is an OpenSSL-compatible implementation of the RSA Data Security, + * Inc. MD4 Message-Digest Algorithm. + * + * Written by Solar Designer in 2001, and placed in + * the public domain. See md4.c for more information. + */ + +#ifndef __MD4_H +#define __MD4_H + +#include + +#define MD4_RESULTLEN (128/8) + +struct md4_context { + quint32 lo, hi; + quint32 a, b, c, d; + unsigned char buffer[64]; + quint32 block[MD4_RESULTLEN]; +}; + +static void md4_init(struct md4_context *ctx); +static void md4_update(struct md4_context *ctx, const unsigned char *data, size_t size); +static void md4_final(struct md4_context *ctx, unsigned char result[MD4_RESULTLEN]); + + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.cpp b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.cpp new file mode 100644 index 00000000..927135de --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.cpp @@ -0,0 +1,238 @@ +/* + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + * + * Changed so as no longer to depend on Colin Plumb's `usual.h' header + * definitions; now uses stuff from dpkg's config.h. + * - Ian Jackson . + * Still in the public domain. + */ + +#include /* for memcpy() */ +#include /* for stupid systems */ + +#include "md5.h" + +static void +byteSwap(UWORD32 *buf, unsigned words) +{ + const quint32 byteOrderTest = 0x1; + if (((char *)&byteOrderTest)[0] == 0) { + md5byte *p = (md5byte *)buf; + + do { + *buf++ = (UWORD32)((unsigned)p[3] << 8 | p[2]) << 16 | + ((unsigned)p[1] << 8 | p[0]); + p += 4; + } while (--words); + } +} + +/* + * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious + * initialization constants. + */ +static void +MD5Init(struct MD5Context *ctx) +{ + ctx->buf[0] = 0x67452301; + ctx->buf[1] = 0xefcdab89; + ctx->buf[2] = 0x98badcfe; + ctx->buf[3] = 0x10325476; + + ctx->bytes[0] = 0; + ctx->bytes[1] = 0; +} + +/* + * Update context to reflect the concatenation of another buffer full + * of bytes. + */ +static void +MD5Update(struct MD5Context *ctx, md5byte const *buf, unsigned len) +{ + UWORD32 t; + + /* Update byte count */ + + t = ctx->bytes[0]; + if ((ctx->bytes[0] = t + len) < t) + ctx->bytes[1]++; /* Carry from low to high */ + + t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */ + if (t > len) { + memcpy((md5byte *)ctx->in + 64 - t, buf, len); + return; + } + /* First chunk is an odd size */ + memcpy((md5byte *)ctx->in + 64 - t, buf, t); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + buf += t; + len -= t; + + /* Process data in 64-byte chunks */ + while (len >= 64) { + memcpy(ctx->in, buf, 64); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + buf += 64; + len -= 64; + } + + /* Handle any remaining bytes of data. */ + memcpy(ctx->in, buf, len); +} + +/* + * Final wrapup - pad to 64-byte boundary with the bit pattern + * 1 0* (64-bit count of bits processed, MSB-first) + */ +static void +MD5Final(struct MD5Context *ctx, md5byte digest[16]) +{ + int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */ + md5byte *p = (md5byte *)ctx->in + count; + + /* Set the first char of padding to 0x80. There is always room. */ + *p++ = 0x80; + + /* Bytes of padding needed to make 56 bytes (-8..55) */ + count = 56 - 1 - count; + + if (count < 0) { /* Padding forces an extra block */ + memset(p, 0, count + 8); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + p = (md5byte *)ctx->in; + count = 56; + } + memset(p, 0, count); + byteSwap(ctx->in, 14); + + /* Append length in bits and transform */ + ctx->in[14] = ctx->bytes[0] << 3; + ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; + MD5Transform(ctx->buf, ctx->in); + + byteSwap(ctx->buf, 4); + memcpy(digest, ctx->buf, 16); + memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ +} + +#ifndef ASM_MD5 + +/* The four core functions - F1 is optimized somewhat */ + +/* #define F1(x, y, z) (x & y | ~x & z) */ +#define F1(x, y, z) (z ^ (x & (y ^ z))) +#define F2(x, y, z) F1(z, x, y) +#define F3(x, y, z) (x ^ y ^ z) +#define F4(x, y, z) (y ^ (x | ~z)) + +/* This is the central step in the MD5 algorithm. */ +#define MD5STEP(f,w,x,y,z,in,s) \ + (w += f(x,y,z) + in, w = (w<>(32-s)) + x) + +/* + * The core of the MD5 algorithm, this alters an existing MD5 hash to + * reflect the addition of 16 longwords of new data. MD5Update blocks + * the data and converts bytes into longwords for this routine. + */ +static void +MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) +{ + register UWORD32 a, b, c, d; + + a = buf[0]; + b = buf[1]; + c = buf[2]; + d = buf[3]; + + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); + MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); + MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); + MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); + + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); + MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); + MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); + MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); + MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); + MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); + MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); + MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + +#endif diff --git a/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.h b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.h new file mode 100644 index 00000000..1a6ebc73 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/crypto/thirdparty/md5.h @@ -0,0 +1,43 @@ +/* + * This is the header file for the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + * + * Changed so as no longer to depend on Colin Plumb's `usual.h' + * header definitions; now uses stuff from dpkg's config.h + * - Ian Jackson . + * Still in the public domain. + */ + +#ifndef MD5_H +#define MD5_H + +#include +#include +#include +typedef unsigned char md5byte; +typedef quint32 UWORD32; + +struct MD5Context { + UWORD32 buf[4]; + UWORD32 bytes[2]; + UWORD32 in[16]; +}; + +static void MD5Init(struct MD5Context *context); +static void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len); +static void MD5Final(struct MD5Context *context, unsigned char digest[16]); +static void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); + +#endif /* !MD5_H */ diff --git a/src/contrib/libqxt-2007-10-24/src/designer/designer.pro b/src/contrib/libqxt-2007-10-24/src/designer/designer.pro new file mode 100644 index 00000000..a5850ff8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/designer.pro @@ -0,0 +1,59 @@ +TARGET = QxtDesignerPlugins +DEPENDPATH += . +INCLUDEPATH += . ../core ../gui +win32: CONFIG += dll +QT = core gui +QXT = core gui +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += designer plugin qxtbuild +include(../../config.pri) + + +target.path = $$[QT_INSTALL_PLUGINS]/designer +INSTALLS+=target + + +HEADERS += qxtcheckcomboboxplugin.h \ + qxtdesignerplugin.h \ + qxtdesignerplugins.h \ + qxtgroupboxplugin.h \ + qxtlabelplugin.h \ + qxtlistwidgetplugin.h \ + qxtprogresslabelplugin.h \ + qxtpushbuttonplugin.h \ + qxtspansliderplugin.h \ + qxtstarsplugin.h \ + qxtstringspinboxplugin.h \ + qxttablewidgetplugin.h \ + qxttreewidgetplugin.h + +SOURCES += qxtcheckcomboboxplugin.cpp \ + qxtdesignerplugin.cpp \ + qxtdesignerplugins.cpp \ + qxtgroupboxplugin.cpp \ + qxtlabelplugin.cpp \ + qxtlistwidgetplugin.cpp \ + qxtprogresslabelplugin.cpp \ + qxtpushbuttonplugin.cpp \ + qxtspansliderplugin.cpp \ + qxtstarsplugin.cpp \ + qxtstringspinboxplugin.cpp \ + qxttablewidgetplugin.cpp \ + qxttreewidgetplugin.cpp + +RESOURCES += resources.qrc + + +CONFIG(debug, debug|release) { + unix: TARGET = $$join(TARGET,,,.debug) + mac: TARGET = $$join(TARGET,,,_debug) + win32: TARGET = $$join(TARGET,,d) +} + + + + + diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.cpp new file mode 100644 index 00000000..43f56d00 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtcheckcombobox.h" +#include "qxtcheckcomboboxplugin.h" +#include + +QxtCheckComboBoxPlugin::QxtCheckComboBoxPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtCheckComboBox") +{} + +QWidget* QxtCheckComboBoxPlugin::createWidget(QWidget* parent) +{ + return new QxtCheckComboBox(parent); +} + +QString QxtCheckComboBoxPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 57\n" + " 17\n" + " \n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.h new file mode 100644 index 00000000..85955605 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtcheckcomboboxplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCHECKCOMBOBOXPLUGIN_H +#define QXTCHECKCOMBOBOXPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtCheckComboBoxPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtCheckComboBoxPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTCHECKCOMBOBOXPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.cpp new file mode 100644 index 00000000..3d2b64e9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.cpp @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdesignerplugin.h" + +QxtDesignerPlugin::QxtDesignerPlugin(const QString& plugin) : init(false), plugin(plugin) +{} + +QString QxtDesignerPlugin::group() const +{ + return "QxtGui Widgets"; +} + +QIcon QxtDesignerPlugin::icon() const +{ + return QIcon(":/logo.png"); +} + +QString QxtDesignerPlugin::includeFile() const +{ + return plugin; +} + +void QxtDesignerPlugin::initialize(QDesignerFormEditorInterface*) +{ + if (init) return; + init = true; +} + +bool QxtDesignerPlugin::isContainer() const +{ + return false; +} + +bool QxtDesignerPlugin::isInitialized() const +{ + return init; +} + +QString QxtDesignerPlugin::name() const +{ + return plugin; +} + +QString QxtDesignerPlugin::toolTip() const +{ + return plugin; +} + +QString QxtDesignerPlugin::whatsThis() const +{ + return plugin; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.h new file mode 100644 index 00000000..9bba38d0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugin.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTDESIGNERPLUGIN_H +#define QXTDESIGNERPLUGIN_H + +#include + +class QxtDesignerPlugin : public QDesignerCustomWidgetInterface +{ + Q_INTERFACES(QDesignerCustomWidgetInterface) + +public: + QxtDesignerPlugin(const QString& plugin); + + QString group() const; + QIcon icon() const; + QString includeFile () const; + void initialize(QDesignerFormEditorInterface*); + bool isContainer() const; + bool isInitialized() const; + QString name() const; + QString toolTip() const; + QString whatsThis() const; + +private: + bool init; + QString plugin; +}; + +#endif // QXTDESIGNERPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.cpp new file mode 100644 index 00000000..a62ed5e5 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdesignerplugins.h" +#include "qxtcheckcomboboxplugin.h" +#include "qxtgroupboxplugin.h" +#include "qxtlabelplugin.h" +#include "qxtlistwidgetplugin.h" +#include "qxtprogresslabelplugin.h" +#include "qxtpushbuttonplugin.h" +#include "qxtspansliderplugin.h" +#include "qxtstarsplugin.h" +#include "qxtstringspinboxplugin.h" +#include "qxttablewidgetplugin.h" +#include "qxttreewidgetplugin.h" +#include + +QList QxtDesignerPlugins::customWidgets() const +{ + QList plugins; + plugins << new QxtLabelPlugin() + << new QxtPushButtonPlugin() + << new QxtCheckComboBoxPlugin() + << new QxtSpanSliderPlugin() + << new QxtStringSpinBoxPlugin() + << new QxtGroupBoxPlugin() + << new QxtListWidgetPlugin() + << new QxtTreeWidgetPlugin() + << new QxtTableWidgetPlugin() + << new QxtStarsPlugin() + << new QxtProgressLabelPlugin(); + return plugins; +} + +Q_EXPORT_PLUGIN(QxtDesignerPlugins) diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.h new file mode 100644 index 00000000..07c191ea --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtdesignerplugins.h @@ -0,0 +1,39 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTDESIGNERPLUGINS_H +#define QXTDESIGNERPLUGINS_H + +#include +#include + +class QxtDesignerPlugins : public QObject, public QDesignerCustomWidgetCollectionInterface +{ + Q_OBJECT + Q_INTERFACES(QDesignerCustomWidgetCollectionInterface) + +public: + QList customWidgets() const; +}; + +#endif // QXTDESIGNERPLUGINS_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.cpp new file mode 100644 index 00000000..509f2db8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtgroupbox.h" +#include "qxtgroupboxplugin.h" +#include + +QxtGroupBoxPlugin::QxtGroupBoxPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtGroupBox") +{} + +QWidget* QxtGroupBoxPlugin::createWidget(QWidget* parent) +{ + return new QxtGroupBox(parent); +} + +QString QxtGroupBoxPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 120\n" + " 80\n" + " \n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.h new file mode 100644 index 00000000..78f537ef --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtgroupboxplugin.h @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTGROUPBOXPLUGIN_H +#define QXTGROUPBOXPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtGroupBoxPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtGroupBoxPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; + bool isContainer() const + { + return true; + } +}; + +#endif // QXTGROUPBOXPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.cpp new file mode 100644 index 00000000..4e027da0 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlabel.h" +#include "qxtlabelplugin.h" +#include + +QxtLabelPlugin::QxtLabelPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtLabel") +{} + +QWidget* QxtLabelPlugin::createWidget(QWidget* parent) +{ + return new QxtLabel(parent); +} + +QString QxtLabelPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 57\n" + " 17\n" + " \n" + " \n" + " \n" + " QxtLabel\n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.h new file mode 100644 index 00000000..bd09cb09 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtlabelplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLABELPLUGIN_H +#define QXTLABELPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtLabelPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtLabelPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTLABELPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.cpp new file mode 100644 index 00000000..89878b45 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlistwidget.h" +#include "qxtlistwidgetplugin.h" +#include + +QxtListWidgetPlugin::QxtListWidgetPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtListWidget") +{} + +QWidget* QxtListWidgetPlugin::createWidget(QWidget* parent) +{ + return new QxtListWidget(parent); +} + +QString QxtListWidgetPlugin::domXml() const +{ + return ""; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.h new file mode 100644 index 00000000..33e09de8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtlistwidgetplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTLISTWIDGETPLUGIN_H +#define QXTLISTWIDGETPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtListWidgetPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtListWidgetPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTLISTWIDGETPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.cpp new file mode 100644 index 00000000..7bf13f77 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtprogresslabel.h" +#include "qxtprogresslabelplugin.h" +#include + +QxtProgressLabelPlugin::QxtProgressLabelPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtProgressLabel") +{} + +QWidget* QxtProgressLabelPlugin::createWidget(QWidget* parent) +{ + return new QxtProgressLabel(parent); +} + +QString QxtProgressLabelPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 57\n" + " 17\n" + " \n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.h new file mode 100644 index 00000000..e7eedba2 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtprogresslabelplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTPROGRESSLABELPLUGIN_H +#define QXTPROGRESSLABELPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtProgressLabelPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtProgressLabelPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTPROGRESSLABELPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.cpp new file mode 100644 index 00000000..5bf63681 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.cpp @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtpushbutton.h" +#include "qxtpushbuttonplugin.h" +#include + +QxtPushButtonPlugin::QxtPushButtonPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtPushButton") +{} +QWidget* QxtPushButtonPlugin::createWidget(QWidget* parent) +{ + return new QxtPushButton(parent); +} + +QString QxtPushButtonPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 105\n" + " 27\n" + " \n" + " \n" + " \n" + " QxtPushButton\n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.h new file mode 100644 index 00000000..63143665 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtpushbuttonplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTPUSHBUTTONPLUGIN_H +#define QXTPUSHBUTTONPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtPushButtonPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtPushButtonPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTPUSHBUTTONPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.cpp new file mode 100644 index 00000000..c2e4d32b --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtspanslider.h" +#include "qxtspansliderplugin.h" +#include + +QxtSpanSliderPlugin::QxtSpanSliderPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtSpanSlider") +{} + +QWidget* QxtSpanSliderPlugin::createWidget(QWidget* parent) +{ + return new QxtSpanSlider(parent); +} + +QString QxtSpanSliderPlugin::domXml() const +{ + return ""; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.h new file mode 100644 index 00000000..993153d4 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtspansliderplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSPANSLIDERPLUGIN_H +#define QXTSPANSLIDERPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtSpanSliderPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtSpanSliderPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTSPANSLIDERPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.cpp new file mode 100644 index 00000000..ede8d82f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstars.h" +#include "qxtstarsplugin.h" +#include + +QxtStarsPlugin::QxtStarsPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtStars") +{} + +QWidget* QxtStarsPlugin::createWidget(QWidget* parent) +{ + return new QxtStars(parent); +} + +QString QxtStarsPlugin::domXml() const +{ + return "\n" + " \n" + " \n" + " 0\n" + " 0\n" + " 57\n" + " 17\n" + " \n" + " \n" + "\n"; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.h new file mode 100644 index 00000000..76ce6881 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtstarsplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSTARSPLUGIN_H +#define QXTSTARSPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtStarsPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtStarsPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTSTARSPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.cpp new file mode 100644 index 00000000..7116ff53 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.cpp @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtstringspinbox.h" +#include "qxtstringspinboxplugin.h" +#include +#include + +QxtStringSpinBoxPlugin::QxtStringSpinBoxPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtStringSpinBox") +{} + +QWidget* QxtStringSpinBoxPlugin::createWidget(QWidget* parent) +{ + return new QxtStringSpinBox(parent); +} + +QString QxtStringSpinBoxPlugin::domXml() const +{ + return ""; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.h new file mode 100644 index 00000000..061a3bf1 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxtstringspinboxplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTSTRINGSPINBOXPLUGIN_H +#define QXTSTRINGSPINBOXPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtStringSpinBoxPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtStringSpinBoxPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTSTRINGSPINBOXPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.cpp new file mode 100644 index 00000000..f9df0024 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttablewidget.h" +#include "qxttablewidgetplugin.h" +#include + +QxtTableWidgetPlugin::QxtTableWidgetPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtTableWidget") +{} + +QWidget* QxtTableWidgetPlugin::createWidget(QWidget* parent) +{ + return new QxtTableWidget(parent); +} + +QString QxtTableWidgetPlugin::domXml() const +{ + return ""; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.h new file mode 100644 index 00000000..8ffe7b62 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxttablewidgetplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTABLEWIDGETPLUGIN_H +#define QXTTABLEWIDGETPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtTableWidgetPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtTableWidgetPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTTABLEWIDGETPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.cpp b/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.cpp new file mode 100644 index 00000000..13dd3971 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxttreewidget.h" +#include "qxttreewidgetplugin.h" +#include + +QxtTreeWidgetPlugin::QxtTreeWidgetPlugin(QObject* parent) + : QObject(parent), QxtDesignerPlugin("QxtTreeWidget") +{} + +QWidget* QxtTreeWidgetPlugin::createWidget(QWidget* parent) +{ + return new QxtTreeWidget(parent); +} + +QString QxtTreeWidgetPlugin::domXml() const +{ + return ""; +} diff --git a/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.h b/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.h new file mode 100644 index 00000000..22eac33c --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/qxttreewidgetplugin.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtDesigner module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTTREEWIDGETPLUGIN_H +#define QXTTREEWIDGETPLUGIN_H + +#include +#include "qxtdesignerplugin.h" + +class QxtTreeWidgetPlugin : public QObject, public QxtDesignerPlugin +{ + Q_OBJECT + +public: + QxtTreeWidgetPlugin(QObject* parent = 0); + + QWidget* createWidget(QWidget* parent); + QString domXml() const; +}; + +#endif // QXTTREEWIDGETPLUGIN_H diff --git a/src/contrib/libqxt-2007-10-24/src/designer/resources.qrc b/src/contrib/libqxt-2007-10-24/src/designer/resources.qrc new file mode 100644 index 00000000..3bddd909 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/designer/resources.qrc @@ -0,0 +1,5 @@ + + + ../../extras/artwork/logo.png + + diff --git a/src/contrib/libqxt-2007-10-24/src/gui/gui.pro b/src/contrib/libqxt-2007-10-24/src/gui/gui.pro new file mode 100644 index 00000000..9ce36d88 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/gui.pro @@ -0,0 +1,87 @@ +TARGET = QxtGui +DESTDIR = ../../deploy/libs/ +DEPENDPATH += . +INCLUDEPATH += . ../core +DEFINES += BUILD_QXT_GUI +win32: CONFIG += dll +QT = core gui +QXT = core +INCLUDEPATH += . +TEMPLATE = lib +MOC_DIR = .moc +OBJECTS_DIR = .obj +CONFIG += qxtbuild convenience +win32:LIBS += -luser32 +include(../../config.pri) + +HEADERS += qxtapplication.h \ + qxtapplication_p.h \ + qxtcheckcombobox.h \ + qxtcheckcombobox_p.h \ + qxtconfigdialog.h \ + qxtconfigdialog_p.h \ + qxtconfirmationmessage.h \ + qxtdesktopwidget.h \ + qxtdockwidget.h \ + qxtgui.h \ + qxtgroupbox.h \ + qxtheaderview.h \ + qxtitemdelegate.h \ + qxtitemdelegate_p.h \ + qxtlabel.h \ + qxtlistwidget.h \ + qxtlistwidget_p.h \ + qxtlistwidgetitem.h \ + qxtnativeeventfilter.h \ + qxtprogresslabel.h \ + qxtproxystyle.h \ + qxtpushbutton.h \ + qxtspanslider.h \ + qxtspanslider_p.h \ + qxtstars.h \ + qxtstringspinbox.h \ + qxttablewidget.h \ + qxttablewidget_p.h \ + qxttablewidgetitem.h \ + qxttabwidget.h \ + qxttooltip.h \ + qxttooltip_p.h \ + qxttreewidget.h \ + qxttreewidget_p.h \ + qxttreewidgetitem.h\ + qxtstringvalidator.h\ + qxtstringvalidator_p.h + +SOURCES += qxtapplication.cpp \ + qxtcheckcombobox.cpp \ + qxtconfigdialog.cpp \ + qxtconfirmationmessage.cpp \ + qxtdesktopwidget.cpp \ + qxtdockwidget.cpp \ + qxtgroupbox.cpp \ + qxtheaderview.cpp \ + qxtitemdelegate.cpp \ + qxtlabel.cpp \ + qxtlistwidget.cpp \ + qxtlistwidgetitem.cpp \ + qxtprogresslabel.cpp \ + qxtproxystyle.cpp \ + qxtpushbutton.cpp \ + qxtspanslider.cpp \ + qxtstars.cpp \ + qxtstringspinbox.cpp \ + qxttablewidget.cpp \ + qxttablewidgetitem.cpp \ + qxttabwidget.cpp \ + qxttooltip.cpp \ + qxttreewidget.cpp \ + qxttreewidgetitem.cpp\ + qxtstringvalidator.cpp + +unix:!macx: SOURCES += qxtdesktopwidget_x11.cpp qxtapplication_x11.cpp +macx { + SOURCES += qxtapplication_mac.cpp + SOURCES -= qxtdesktopwidget.cpp + HEADERS -= qxtdesktopwidget.h +} +win32: SOURCES += qxtdesktopwidget_win.cpp qxtapplication_win.cpp diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.cpp new file mode 100644 index 00000000..08bdb786 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.cpp @@ -0,0 +1,154 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtapplication.h" +#include "qxtapplication_p.h" +#include + +/*! + \class QxtApplication QxtApplication + \ingroup QxtGui + \brief An extended QApplication with support for hotkeys aka "global shortcuts". + + QxtApplication introduces hotkeys which trigger even if the application is not + active. This makes it easy to implement applications that react to certain + shortcuts still if some other application is active or if the application is + for example minimized to the system tray. + + QxtApplication also lets you install native event filters. This makes it + possible to access platform specific native events without subclassing + QApplication. + */ + +/*! + \fn QxtApplication::instance() + + Returns a pointer to the instance of the application object. + + A convenience macro \b qxtApp is also available. + */ + +QxtApplication::QxtApplication(int& argc, char** argv) + : QApplication(argc, argv) +{} + +QxtApplication::QxtApplication(int& argc, char** argv, bool GUIenabled) + : QApplication(argc, argv, GUIenabled) +{} + +QxtApplication::QxtApplication(int& argc, char** argv, Type type) + : QApplication(argc, argv, type) +{} + +QxtApplication::~QxtApplication() +{} + +/*! + Installs a native event \a filter. + + A native event filter is an object that receives all native events before they reach + the application object. The filter can either stop the native event or forward it to + the application object. The filter receives native events via its platform specific + native event filter function. The native event filter function must return \b true + if the event should be filtered, (i.e. stopped); otherwise it must return \b false. + + If multiple native event filters are installed, the filter that was installed last + is activated first. + + \sa removeNativeEventFilter() +*/ +void QxtApplication::installNativeEventFilter(QxtNativeEventFilter* filter) +{ + if (!filter) + return; + + qxt_d().nativeFilters.removeAll(filter); + qxt_d().nativeFilters.prepend(filter); +} + +/*! + Removes a native event \a filter. The request is ignored if such a native + event filter has not been installed. + + \sa installNativeEventFilter() +*/ +void QxtApplication::removeNativeEventFilter(QxtNativeEventFilter* filter) +{ + qxt_d().nativeFilters.removeAll(filter); +} + +/*! + Adds a hotkey using \a modifiers and \a key. The \a member + of \a receiver is invoked upon hotkey trigger. + + \return \b true if hotkey registration succeed, \b false otherwise. + + Example usage: + \code + QxtLabel* label = new QxtLabel("Hello world!"); + qxtApp->addHotKey(Qt::ShiftModifier | Qt::ControlModifier, Qt::Key_S, label, "show"); + \endcode +*/ +bool QxtApplication::addHotKey(Qt::KeyboardModifiers modifiers, Qt::Key key, QWidget* receiver, const char* member) +{ + Q_ASSERT(receiver); + Q_ASSERT(member); + uint mods = qxt_d().nativeModifiers(modifiers); + uint keycode = qxt_d().nativeKeycode(key); + if (keycode) + { + qxt_d().hotkeys.insert(qMakePair(mods, keycode), qMakePair(receiver, member)); + return qxt_d().registerHotKey(mods, keycode, receiver); + } + return false; +} + +/*! + Removes the hotkey using \a modifiers and \a key mapped to + \a member of \a receiver. + + \return \b true if hotkey unregistration succeed, \b false otherwise. +*/ +bool QxtApplication::removeHotKey(Qt::KeyboardModifiers modifiers, Qt::Key key, QWidget* receiver, const char* member) +{ + Q_ASSERT(receiver); + Q_UNUSED(member); + uint mods = qxt_d().nativeModifiers(modifiers); + uint keycode = qxt_d().nativeKeycode(key); + if (keycode) + { + qxt_d().hotkeys.remove(qMakePair(mods, keycode)); + return qxt_d().unregisterHotKey(mods, keycode, receiver); + } + return false; +} + +void QxtApplicationPrivate::activateHotKey(uint modifiers, uint keycode) const +{ + Receivers receivers = hotkeys.values(qMakePair(modifiers, keycode)); + foreach (Receiver receiver, receivers) + { + // QMetaObject::invokeMethod() has appropriate null checks + QMetaObject::invokeMethod(receiver.first, receiver.second); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.h new file mode 100644 index 00000000..f77481d7 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTAPPLICATION_H +#define QXTAPPLICATION_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtApplicationPrivate; +class QxtNativeEventFilter; + +#define qxtApp (QxtApplication::instance()) + +class QXT_GUI_EXPORT QxtApplication : public QApplication +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtApplication); + +public: + QxtApplication(int& argc, char** argv); + QxtApplication(int& argc, char** argv, bool GUIenabled); + QxtApplication(int& argc, char** argv, Type type); +#if defined(Q_WS_X11) + QxtApplication(Display* display, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0); + QxtApplication(Display* display, int& argc, char** argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0); +#endif // Q_WS_X11 + virtual ~QxtApplication(); + + void installNativeEventFilter(QxtNativeEventFilter* filter); + void removeNativeEventFilter(QxtNativeEventFilter* filter); + +#ifndef QXT_DOXYGEN_RUN +#if defined(Q_WS_X11) + virtual bool x11EventFilter(XEvent* event); +#elif defined(Q_WS_WIN) + virtual bool winEventFilter(MSG* msg, long* result); +#elif defined(Q_WS_MAC) + virtual bool macEventFilter(EventHandlerCallRef caller, EventRef event); +#endif // Q_WS_* +#endif // QXT_DOXYGEN_RUN + + bool addHotKey(Qt::KeyboardModifiers modifiers, Qt::Key key, QWidget* receiver, const char* member); + bool removeHotKey(Qt::KeyboardModifiers modifiers, Qt::Key key, QWidget* receiver, const char* member); + + inline static QxtApplication* instance() + { + return static_cast(QApplication::instance()); + } +}; + +#endif // QXTAPPLICATION_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_mac.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_mac.cpp new file mode 100644 index 00000000..e7dacea9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_mac.cpp @@ -0,0 +1,212 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include +#include "qxtapplication.h" +#include "qxtapplication_p.h" +#include +#include +#include + +static QMap keyRefs; +static QHash keyIDs; +static quint32 hotKeySerial = 0; +static bool qxt_mac_handler_installed = false; + +OSStatus qxt_mac_handle_hot_key(EventHandlerCallRef nextHandler, EventRef event, void* data) +{ + // pass event to the app event filter + qApp->macEventFilter(nextHandler, event); + return noErr; +} + +bool QxtApplication::macEventFilter(EventHandlerCallRef caller, EventRef event) +{ + foreach (QxtNativeEventFilter* filter, qxt_d().nativeFilters) + { + if (filter && filter->macEventFilter(caller, event)) + return true; + } + + if (GetEventClass(event) == kEventClassKeyboard && GetEventKind(event) == kEventHotKeyPressed) + { + EventHotKeyID keyID; + GetEventParameter(event, kEventParamDirectObject, typeEventHotKeyID, NULL, sizeof(keyID), NULL, &keyID); + Identifier id = keyIDs.key(keyID.id); + qxt_d().activateHotKey(id.first, id.second); + } + return QApplication::macEventFilter(caller, event); +} + +uint QxtApplicationPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers) const +{ + uint native = 0; + if (modifiers & Qt::ShiftModifier) + native |= shiftKeyBit; + if (modifiers & Qt::ControlModifier) + native |= cmdKey; + if (modifiers & Qt::AltModifier) + native |= optionKey; + if (modifiers & Qt::MetaModifier) + native |= controlKey; + if (modifiers & Qt::KeypadModifier) + native |= kEventKeyModifierNumLockMask; + return native; +} + +uint QxtApplicationPrivate::nativeKeycode(Qt::Key key) const +{ + UTF16Char ch; + // Constants found in NSEvent.h from AppKit.framework + if (key == Qt::Key_Up) ch = 0xF700; + else if (key == Qt::Key_Down) ch = 0xF701; + else if (key == Qt::Key_Left) ch = 0xF702; + else if (key == Qt::Key_Right) ch = 0xF703; + else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) + ch = key - Qt::Key_F1 + 0xF704; + else if (key == Qt::Key_Insert) ch = 0xF727; + else if (key == Qt::Key_Delete) ch = 0xF728; + else if (key == Qt::Key_Home) ch = 0xF729; + else if (key == Qt::Key_End) ch = 0xF72B; + else if (key == Qt::Key_PageUp) ch = 0xF72C; + else if (key == Qt::Key_PageDown) ch = 0xF72D; + else if (key == Qt::Key_Print) ch = 0xF72E; + else if (key == Qt::Key_ScrollLock) ch = 0xF72F; + else if (key == Qt::Key_Pause) ch = 0xF730; + else if (key == Qt::Key_SysReq) ch = 0xF731; + else if (key == Qt::Key_Stop) ch = 0xF734; + else if (key == Qt::Key_Menu) ch = 0xF735; + else if (key == Qt::Key_Select) ch = 0xF741; + else if (key == Qt::Key_Execute) ch = 0xF742; + else if (key == Qt::Key_Help) ch = 0xF746; + else if (key == Qt::Key_Mode_switch) ch = 0xF747; + else if (key == Qt::Key_Escape) ch = 27; + else if (key == Qt::Key_Return) ch = 13; + else if (key == Qt::Key_Enter) ch = 3; + else if (key == Qt::Key_Tab) ch = 9; + else ch = key; + + KeyboardLayoutRef layout; + KeyboardLayoutKind layoutKind; + KLGetCurrentKeyboardLayout(&layout); + KLGetKeyboardLayoutProperty(layout, kKLKind, const_cast(reinterpret_cast(&layoutKind))); + + if (layoutKind == kKLKCHRKind) + { // no Unicode available + if (ch > 255) return 0; + + char* data; + KLGetKeyboardLayoutProperty(layout, kKLKCHRData, const_cast(reinterpret_cast(&data))); + int ct = *reinterpret_cast(data + 258); + for (int i = 0; i < ct; i++) + { + char* keyTable = data + 260 + 128 * i; + for (int j = 0; j < 128; j++) + { + if (keyTable[j] == ch) return j; + } + } + + return 0; + } + + char* data; + KLGetKeyboardLayoutProperty(layout, kKLuchrData, const_cast(reinterpret_cast(&data))); + UCKeyboardLayout* header = reinterpret_cast(data); + UCKeyboardTypeHeader* table = header->keyboardTypeList; + + for (uint i=0; i < header->keyboardTypeCount; i++) + { + UCKeyStateRecordsIndex* stateRec = 0; + if (table[i].keyStateRecordsIndexOffset != 0) + { + stateRec = reinterpret_cast(data + table[i].keyStateRecordsIndexOffset); + if (stateRec->keyStateRecordsIndexFormat != kUCKeyStateRecordsIndexFormat) stateRec = 0; + } + + UCKeyToCharTableIndex* charTable = reinterpret_cast(data + table[i].keyToCharTableIndexOffset); + if (charTable->keyToCharTableIndexFormat != kUCKeyToCharTableIndexFormat) continue; + + for (uint j=0; j < charTable->keyToCharTableCount; j++) + { + UCKeyOutput* keyToChar = reinterpret_cast(data + charTable->keyToCharTableOffsets[j]); + for (uint k=0; k < charTable->keyToCharTableSize; k++) + { + if (keyToChar[k] & kUCKeyOutputTestForIndexMask) + { + long idx = keyToChar[k] & kUCKeyOutputGetIndexMask; + if (stateRec && idx < stateRec->keyStateRecordCount) + { + UCKeyStateRecord* rec = reinterpret_cast(data + stateRec->keyStateRecordOffsets[idx]); + if (rec->stateZeroCharData == ch) return k; + } + } + else if (!(keyToChar[k] & kUCKeyOutputSequenceIndexMask) && keyToChar[k] < 0xFFFE) + { + if (keyToChar[k] == ch) return k; + } + } // for k + } // for j + } // for i + + return 0; +} + +bool QxtApplicationPrivate::registerHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_UNUSED(receiver); + + if (!qxt_mac_handler_installed) + { + EventTypeSpec t; + t.eventClass = kEventClassKeyboard; + t.eventKind = kEventHotKeyPressed; + InstallApplicationEventHandler(&qxt_mac_handle_hot_key, 1, &t, NULL, NULL); + } + + EventHotKeyID keyID; + keyID.signature = 'cute'; + keyID.id = ++hotKeySerial; + + EventHotKeyRef ref = 0; + bool rv = !RegisterEventHotKey(keycode, modifiers, keyID, GetApplicationEventTarget(), 0, &ref); + if (rv) + { + keyIDs.insert(Identifier(modifiers, keycode), keyID.id); + keyRefs.insert(keyID.id, ref); + } + qDebug() << ref; + return rv; +} + +bool QxtApplicationPrivate::unregisterHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_UNUSED(receiver); + + Identifier id(modifiers, keycode); + if (!keyIDs.contains(id)) return false; + + EventHotKeyRef ref = keyRefs.take(keyIDs[id]); + keyIDs.remove(id); + return !UnregisterEventHotKey(ref); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_p.h new file mode 100644 index 00000000..5a1bbcb6 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_p.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTAPPLICATION_P_H +#define QXTAPPLICATION_P_H + +#include +#include +#include +#include "qxtpimpl.h" +#include "qxtapplication.h" +#include "qxtnativeeventfilter.h" + +typedef QPair Identifier; +typedef QList Identifiers; +typedef QPair Receiver; +typedef QList Receivers; + +class QxtApplicationPrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtApplication); + + uint nativeKeycode(Qt::Key key) const; + uint nativeModifiers(Qt::KeyboardModifiers modifiers) const; + + bool registerHotKey(uint modifiers, uint keycode, QWidget* receiver); + bool unregisterHotKey(uint modifiers, uint keycode, QWidget* receiver); + void activateHotKey(uint modifiers, uint keycode) const; + + QMultiHash hotkeys; + QList nativeFilters; +}; + +inline uint qHash(const QPair& value) +{ + return qHash(value.first) ^ qHash(value.second); +} + +#endif // QXTAPPLICATION_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_win.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_win.cpp new file mode 100644 index 00000000..f525be2e --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_win.cpp @@ -0,0 +1,222 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtapplication.h" +#include "qxtapplication_p.h" +#include +#include + +bool QxtApplication::winEventFilter(MSG* msg, long* result) +{ + foreach (QxtNativeEventFilter* filter, qxt_d().nativeFilters) + { + if (filter && filter->winEventFilter(msg, result)) + return true; + } + + if (msg->message == WM_HOTKEY) + { + uint modifiers = LOWORD(msg->lParam); + uint keycode = HIWORD(msg->lParam); + qxt_d().activateHotKey(modifiers, keycode); + } + return QApplication::winEventFilter(msg, result); +} + +uint QxtApplicationPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers) const +{ + // MOD_ALT, MOD_CONTROL, (MOD_KEYUP), MOD_SHIFT, MOD_WIN + uint native = 0; + if (modifiers & Qt::ShiftModifier) + native |= MOD_SHIFT; + if (modifiers & Qt::ControlModifier) + native |= MOD_CONTROL; + if (modifiers & Qt::AltModifier) + native |= MOD_ALT; + if (modifiers & Qt::MetaModifier) + native |= MOD_WIN; + // TODO: resolve these? + //if (modifiers & Qt::KeypadModifier) + //if (modifiers & Qt::GroupSwitchModifier) + return native; +} + +uint QxtApplicationPrivate::nativeKeycode(Qt::Key key) const +{ + switch (key) + { + case Qt::Key_Escape: + return VK_ESCAPE; + case Qt::Key_Tab: + case Qt::Key_Backtab: + return VK_TAB; + case Qt::Key_Backspace: + return VK_BACK; + case Qt::Key_Return: + case Qt::Key_Enter: + return VK_RETURN; + case Qt::Key_Insert: + return VK_INSERT; + case Qt::Key_Delete: + return VK_DELETE; + case Qt::Key_Pause: + return VK_PAUSE; + case Qt::Key_Print: + return VK_PRINT; + case Qt::Key_Clear: + return VK_CLEAR; + case Qt::Key_Home: + return VK_HOME; + case Qt::Key_End: + return VK_END; + case Qt::Key_Left: + return VK_LEFT; + case Qt::Key_Up: + return VK_UP; + case Qt::Key_Right: + return VK_RIGHT; + case Qt::Key_Down: + return VK_DOWN; + case Qt::Key_PageUp: + return VK_PRIOR; + case Qt::Key_PageDown: + return VK_NEXT; + case Qt::Key_F1: + return VK_F1; + case Qt::Key_F2: + return VK_F2; + case Qt::Key_F3: + return VK_F3; + case Qt::Key_F4: + return VK_F4; + case Qt::Key_F5: + return VK_F5; + case Qt::Key_F6: + return VK_F6; + case Qt::Key_F7: + return VK_F7; + case Qt::Key_F8: + return VK_F8; + case Qt::Key_F9: + return VK_F9; + case Qt::Key_F10: + return VK_F10; + case Qt::Key_F11: + return VK_F11; + case Qt::Key_F12: + return VK_F12; + case Qt::Key_F13: + return VK_F13; + case Qt::Key_F14: + return VK_F14; + case Qt::Key_F15: + return VK_F15; + case Qt::Key_F16: + return VK_F16; + case Qt::Key_F17: + return VK_F17; + case Qt::Key_F18: + return VK_F18; + case Qt::Key_F19: + return VK_F19; + case Qt::Key_F20: + return VK_F20; + case Qt::Key_F21: + return VK_F21; + case Qt::Key_F22: + return VK_F22; + case Qt::Key_F23: + return VK_F23; + case Qt::Key_F24: + return VK_F24; + case Qt::Key_Space: + return VK_SPACE; + case Qt::Key_Asterisk: + return VK_MULTIPLY; + case Qt::Key_Plus: + return VK_ADD; + case Qt::Key_Comma: + return VK_SEPARATOR; + case Qt::Key_Minus: + return VK_SUBTRACT; + case Qt::Key_Slash: + return VK_DIVIDE; + + // numbers + case Qt::Key_0: + case Qt::Key_1: + case Qt::Key_2: + case Qt::Key_3: + case Qt::Key_4: + case Qt::Key_5: + case Qt::Key_6: + case Qt::Key_7: + case Qt::Key_8: + case Qt::Key_9: + return key; + + // letters + case Qt::Key_A: + case Qt::Key_B: + case Qt::Key_C: + case Qt::Key_D: + case Qt::Key_E: + case Qt::Key_F: + case Qt::Key_G: + case Qt::Key_H: + case Qt::Key_I: + case Qt::Key_J: + case Qt::Key_K: + case Qt::Key_L: + case Qt::Key_M: + case Qt::Key_N: + case Qt::Key_O: + case Qt::Key_P: + case Qt::Key_Q: + case Qt::Key_R: + case Qt::Key_S: + case Qt::Key_T: + case Qt::Key_U: + case Qt::Key_V: + case Qt::Key_W: + case Qt::Key_X: + case Qt::Key_Y: + case Qt::Key_Z: + return key; + + default: + return 0; + } +} + +bool QxtApplicationPrivate::registerHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_ASSERT(receiver); + return RegisterHotKey(receiver->winId(), modifiers ^ keycode, modifiers, keycode); +} + +bool QxtApplicationPrivate::unregisterHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_ASSERT(receiver); + return UnregisterHotKey(receiver->winId(), modifiers ^ keycode); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_x11.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_x11.cpp new file mode 100644 index 00000000..237a5e5f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtapplication_x11.cpp @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtapplication.h" +#include "qxtapplication_p.h" +#include +#include +#include + +QxtApplication::QxtApplication(Display* display, Qt::HANDLE visual, Qt::HANDLE colormap) + : QApplication(display, visual, colormap) +{} + +QxtApplication::QxtApplication(Display* display, int& argc, char** argv, Qt::HANDLE visual, Qt::HANDLE colormap) + : QApplication(display, argc, argv, visual, colormap) +{} + +bool QxtApplication::x11EventFilter(XEvent* event) +{ + foreach (QxtNativeEventFilter* filter, qxt_d().nativeFilters) + { + if (filter && filter->x11EventFilter(event)) + return true; + } + + if (event->type == KeyPress) + { + XKeyEvent* key = (XKeyEvent*) event; + qxt_d().activateHotKey(key->state, key->keycode); + } + return QApplication::x11EventFilter(event); +} + +uint QxtApplicationPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers) const +{ + // ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask + uint native = 0; + if (modifiers & Qt::ShiftModifier) + native |= ShiftMask; + if (modifiers & Qt::ControlModifier) + native |= ControlMask; + if (modifiers & Qt::AltModifier) + native |= Mod1Mask; + // TODO: resolve these? + //if (modifiers & Qt::MetaModifier) + //if (modifiers & Qt::KeypadModifier) + //if (modifiers & Qt::GroupSwitchModifier) + return native; +} + +uint QxtApplicationPrivate::nativeKeycode(Qt::Key key) const +{ + Display* display = QX11Info::display(); + return XKeysymToKeycode(display, XStringToKeysym(QKeySequence(key).toString().toLatin1().data())); +} + +bool QxtApplicationPrivate::registerHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_UNUSED(receiver); + Display* display = QX11Info::display(); + Window window = QX11Info::appRootWindow(); + Bool owner = True; + int pointer = GrabModeAsync; + int keyboard = GrabModeAsync; + return XGrabKey(display, keycode, modifiers, window, owner, pointer, keyboard); +} + +bool QxtApplicationPrivate::unregisterHotKey(uint modifiers, uint keycode, QWidget* receiver) +{ + Q_UNUSED(receiver); + Display* display = QX11Info::display(); + Window window = QX11Info::appRootWindow(); + return XUngrabKey(display, keycode, modifiers, window); +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.cpp new file mode 100644 index 00000000..52b22e86 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.cpp @@ -0,0 +1,380 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtcheckcombobox.h" +#include "qxtcheckcombobox_p.h" +#include +#include +#include +#include + +QxtCheckComboBoxPrivate::QxtCheckComboBoxPrivate() +{ + separator = QLatin1String(","); +} + +void QxtCheckComboBoxPrivate::hidePopup() +{ + qxt_p().hidePopup(); +} + +void QxtCheckComboBoxPrivate::updateCheckedItems() +{ + checkedItems.clear(); + for (int i = 0; i < qxt_p().model()->rowCount(); ++i) + { + const QModelIndex& index = qxt_p().model()->index(i, 0); + const QVariant& data = index.data(Qt::CheckStateRole); + const Qt::CheckState state = static_cast(data.toInt()); + if (state == Qt::Checked) + { + checkedItems += index.data().toString(); + } + } + + if (checkedItems.count() > 0) + qxt_p().lineEdit()->setText(checkedItems.join(separator)); + else + qxt_p().lineEdit()->setText(defaultText); + + // TODO: find a way to recalculate a meaningful size hint + + emit qxt_p().checkedItemsChanged(checkedItems); +} + +QxtCheckComboView::QxtCheckComboView(QWidget* parent) + : QListView(parent), mode(QxtCheckComboBox::CheckIndicator) +{} + +QxtCheckComboView::~QxtCheckComboView() +{} + +bool QxtCheckComboView::eventFilter(QObject* object, QEvent* event) +{ + Q_UNUSED(object); + if (event->type() == QEvent::MouseButtonRelease) + { + QMouseEvent* mouse = static_cast(event); + const QModelIndex& index = indexAt(mouse->pos()); + if (index.isValid()) + { + bool change = false; + switch (mode) + { + case QxtCheckComboBox::CheckIndicator: + change = handleIndicatorRelease(mouse, index); + break; + + case QxtCheckComboBox::CheckWholeItem: + change = handleItemRelease(mouse, index); + break; + + default: + qWarning("QxtCheckComboView::eventFilter(): unknown mode"); + break; + } + + if (change) + { + // the check state is about to change, bypass + // combobox and deliver the event just for the listview + QListView::mouseReleaseEvent(mouse); + } + else + { + // otherwise it's ok to close + emit hideRequested(); + } + return true; + } + } + return false; +} + +bool QxtCheckComboView::handleIndicatorRelease(QMouseEvent* event, const QModelIndex& index) +{ + // check if the mouse was released over the checkbox + QStyleOptionButton option; + option.QStyleOption::operator=(viewOptions()); + option.rect = visualRect(index); + const QRect& rect = style()->subElementRect(QStyle::SE_ViewItemCheckIndicator, &option); + return rect.contains(event->pos()); +} + +bool QxtCheckComboView::handleItemRelease(QMouseEvent* event, const QModelIndex& index) +{ + // check if the mouse was released outside the checkbox + QStyleOptionButton option; + option.QStyleOption::operator=(viewOptions()); + option.rect = visualRect(index); + const QRect& rect = style()->subElementRect(QStyle::SE_ViewItemCheckIndicator, &option); + if (!rect.contains(event->pos())) + { + Qt::CheckState state = (Qt::CheckState) index.data(Qt::CheckStateRole).toInt(); + switch (state) + { + case Qt::Unchecked: + state = Qt::Checked; + break; + + case Qt::Checked: + state = Qt::Unchecked; + break; + + default: + qWarning("QxtCheckComboView::handleItemRelease(): partially checked item"); + break; + } + model()->setData(index, state, Qt::CheckStateRole); + } + return true; +} + +QxtCheckComboModel::QxtCheckComboModel(QObject* parent) + : QStandardItemModel(0, 1, parent) // rows,cols +{ +} + +QxtCheckComboModel::~QxtCheckComboModel() +{} + +Qt::ItemFlags QxtCheckComboModel::flags(const QModelIndex& index) const +{ + return QStandardItemModel::flags(index) | Qt::ItemIsUserCheckable; +} + +QVariant QxtCheckComboModel::data(const QModelIndex& index, int role) const +{ + QVariant value = QStandardItemModel::data(index, role); + if (role == Qt::CheckStateRole && !value.isValid()) + value = Qt::Unchecked; + return value; +} + +bool QxtCheckComboModel::setData(const QModelIndex& index, const QVariant& value, int role) +{ + bool ok = QStandardItemModel::setData(index, value, role); + if (ok) + { + if (role == Qt::CheckStateRole) + { + emit checkStateChanged(); + } + } + return ok; +} + +/*! + \class QxtCheckComboBox QxtCheckComboBox + \ingroup QxtGui + \brief An extended QComboBox with checkable items. + + QxtComboBox is a specialized combo box with checkable items. + Checked items are collected together in the line edit. + + \image html qxtcheckcombobox.png "QxtCheckComboBox in Plastique style." + */ + +/*! + \enum QxtCheckComboBox::CheckMode + + This enum describes the check mode. + + \sa QxtCheckComboBox::checkMode + */ + +/*! + \var QxtCheckComboBox::CheckMode QxtCheckComboBox::CheckIndicator + + The check state changes only via the check indicator (like in item views). + */ + +/*! + \var QxtCheckComboBox::CheckMode QxtCheckComboBox::CheckWholeItem + + The check state changes via the whole item (like with a combo box). + */ + +/*! + \fn QxtCheckComboBox::checkedItemsChanged(const QStringList& items) + + This signal is emitted whenever the checked items have been changed. + */ + +/*! + Constructs a new QxtCheckComboBox with \a parent. + */ +QxtCheckComboBox::QxtCheckComboBox(QWidget* parent) : QComboBox(parent) +{ + QXT_INIT_PRIVATE(QxtCheckComboBox); + QxtCheckComboModel* model = new QxtCheckComboModel(this); + QxtCheckComboView* view = new QxtCheckComboView(this); + qxt_d().view = view; + setModel(model); + setView(view); + + // these 2 lines below are important and must be + // applied AFTER QComboBox::setView() because + // QComboBox installs its own filter on the view + view->installEventFilter(view); // <--- !!! + view->viewport()->installEventFilter(view); // <--- !!! + + // read-only contents + QLineEdit* lineEdit = new QLineEdit(this); + lineEdit->setReadOnly(true); + setLineEdit(lineEdit); + + connect(view, SIGNAL(hideRequested()), &qxt_d(), SLOT(hidePopup())); + connect(model, SIGNAL(checkStateChanged()), &qxt_d(), SLOT(updateCheckedItems())); + QTimer::singleShot(0, &qxt_d(), SLOT(updateCheckedItems())); +} + +/*! + Destructs the combo box. + */ +QxtCheckComboBox::~QxtCheckComboBox() +{} + +/*! + Returns the check state of the item at \a index. + */ +Qt::CheckState QxtCheckComboBox::itemCheckState(int index) const +{ + return static_cast(itemData(index, Qt::CheckStateRole).toInt()); +} + +/*! + Sets the check state of the item at \a index to \a state. + */ +void QxtCheckComboBox::setItemCheckState(int index, Qt::CheckState state) +{ + setItemData(index, state, Qt::CheckStateRole); +} + +/*! + \property QxtCheckComboBox::checkedItems + \brief This property holds the checked items. + */ +QStringList QxtCheckComboBox::checkedItems() const +{ + return qxt_d().checkedItems; +} + +void QxtCheckComboBox::setCheckedItems(const QStringList& items) +{ + // not the most efficient solution but most likely nobody + // will put too many items into a combo box anyway so... + foreach (const QString& text, items) + { + const int index = findText(text); + setItemCheckState(index, index != -1 ? Qt::Checked : Qt::Unchecked); + } +} + +/*! + \property QxtCheckComboBox::defaultText + \brief This property holds the default text. + + The default text is shown when there are no checked items. + The default value is an empty string. + */ +QString QxtCheckComboBox::defaultText() const +{ + return qxt_d().defaultText; +} + +void QxtCheckComboBox::setDefaultText(const QString& text) +{ + if (qxt_d().defaultText != text) + { + qxt_d().defaultText = text; + qxt_d().updateCheckedItems(); + } +} + +/*! + \property QxtCheckComboBox::separator + \brief This property holds the default separator. + + The checked items are joined together with the separator string. + The default value is a comma (","). + */ +QString QxtCheckComboBox::separator() const +{ + return qxt_d().separator; +} + +void QxtCheckComboBox::setSeparator(const QString& separator) +{ + if (qxt_d().separator != separator) + { + qxt_d().separator = separator; + qxt_d().updateCheckedItems(); + } +} + +/*! + \property QxtCheckComboBox::checkMode + \brief This property holds the check mode. + + The check mode describes item checking behaviour. + The default value is \b QxtCheckComboBox::CheckIndicator. + + \sa QxtCheckComboBox::CheckMode + */ +QxtCheckComboBox::CheckMode QxtCheckComboBox::checkMode() const +{ + return qxt_d().view->mode; +} + +void QxtCheckComboBox::setCheckMode(QxtCheckComboBox::CheckMode mode) +{ + if (qxt_d().view->mode != mode) + { + qxt_d().view->mode = mode; + } +} + +void QxtCheckComboBox::keyPressEvent(QKeyEvent* event) +{ + if (event->key() != Qt::Key_Up && event->key() != Qt::Key_Down) + { + QComboBox::keyPressEvent(event); + } + else + { + showPopup(); + } +} + +void QxtCheckComboBox::keyReleaseEvent(QKeyEvent* event) +{ + if (event->key() != Qt::Key_Up && event->key() != Qt::Key_Down) + { + QComboBox::keyReleaseEvent(event); + } + else + { + showPopup(); + } +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.h new file mode 100644 index 00000000..06bef3a9 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCHECKCOMBOBOX_H +#define QXTCHECKCOMBOBOX_H + +#include +#include "qxtnamespace.h" +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtCheckComboBoxPrivate; + +class QXT_GUI_EXPORT QxtCheckComboBox : public QComboBox +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtCheckComboBox); + Q_PROPERTY(QString separator READ separator WRITE setSeparator) + Q_PROPERTY(QString defaultText READ defaultText WRITE setDefaultText) + Q_PROPERTY(QStringList checkedItems READ checkedItems WRITE setCheckedItems) + Q_PROPERTY(QxtCheckComboBox::CheckMode checkMode READ checkMode WRITE setCheckMode) + Q_ENUMS(CheckMode) + +public: + enum CheckMode + { + CheckIndicator, + CheckWholeItem + }; + + explicit QxtCheckComboBox(QWidget* parent = 0); + virtual ~QxtCheckComboBox(); + + QStringList checkedItems() const; + void setCheckedItems(const QStringList& items); + + QString defaultText() const; + void setDefaultText(const QString& text); + + Qt::CheckState itemCheckState(int index) const; + void setItemCheckState(int index, Qt::CheckState state); + + QString separator() const; + void setSeparator(const QString& separator); + + CheckMode checkMode() const; + void setCheckMode(CheckMode mode); + +signals: + void checkedItemsChanged(const QStringList& items); + +#ifndef QXT_DOXYGEN_RUN +protected: + void keyPressEvent(QKeyEvent* event); + void keyReleaseEvent(QKeyEvent* event); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTCHECKCOMBOBOX_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h new file mode 100644 index 00000000..d8c65618 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCHECKCOMBOBOX_P_H +#define QXTCHECKCOMBOBOX_P_H + +#include +#include +#include "qxtcheckcombobox.h" +#include "qxtpimpl.h" + +class QxtCheckComboView : public QListView +{ + Q_OBJECT + +public: + explicit QxtCheckComboView(QWidget* parent = 0); + ~QxtCheckComboView(); + + virtual bool eventFilter(QObject* object, QEvent* event); + QxtCheckComboBox::CheckMode mode; + bool handleIndicatorRelease(QMouseEvent* event, const QModelIndex& index); + bool handleItemRelease(QMouseEvent* event, const QModelIndex& index); + +signals: + void hideRequested(); +}; + +class QxtCheckComboModel : public QStandardItemModel +{ + Q_OBJECT + +public: + explicit QxtCheckComboModel(QObject* parent = 0); + ~QxtCheckComboModel(); + + virtual Qt::ItemFlags flags(const QModelIndex& index) const; + virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + +signals: + void checkStateChanged(); +}; + +class QxtCheckComboBoxPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT + +public: + QXT_DECLARE_PUBLIC(QxtCheckComboBox); + QxtCheckComboBoxPrivate(); + QString separator; + QString defaultText; + QStringList checkedItems; + QxtCheckComboView* view; + +public slots: + void hidePopup(); + void updateCheckedItems(); +}; + +#endif // QXTCHECKCOMBOBOX_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.cpp new file mode 100644 index 00000000..135ba433 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.cpp @@ -0,0 +1,751 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtconfigdialog.h" +#include "qxtconfigdialog_p.h" +#if QT_VERSION >= 0x040200 +#include +#else // QT_VERSION >= 0x040200 +#include +#include +#endif // QT_VERSION +#include +#include +#include +#include + +QxtConfigListWidget::QxtConfigListWidget(QWidget* parent) : QListWidget(parent) +{ + setItemDelegate(new QxtConfigDelegate(this)); + viewport()->setAttribute(Qt::WA_Hover, true); +} + +void QxtConfigListWidget::invalidate() +{ + hint = QSize(); + updateGeometry(); +} + +QSize QxtConfigListWidget::minimumSizeHint() const +{ + return sizeHint(); +} + +QSize QxtConfigListWidget::sizeHint() const +{ + if (!hint.isValid()) + { + const QStyleOptionViewItem options = viewOptions(); + const bool vertical = (flow() == QListView::TopToBottom); + for (int i = 0; i < count(); ++i) + { + const QSize size = itemDelegate()->sizeHint(options, model()->index(i, 0)); + if (i != 0) + hint = hint.expandedTo(size); + if (vertical) + hint += QSize(0, size.height()); + else + hint += QSize(size.width(), 0); + } + hint += QSize(2 * frameWidth(), 2 * frameWidth()); + } + return hint; +} + +bool QxtConfigListWidget::hasHoverEffect() const +{ + return static_cast(itemDelegate())->hover; +} + +void QxtConfigListWidget::setHoverEffect(bool enabled) +{ + static_cast(itemDelegate())->hover = enabled; +} + +void QxtConfigListWidget::scrollContentsBy(int dx, int dy) +{ + // prevent scrolling + Q_UNUSED(dx); + Q_UNUSED(dy); +} + +QxtConfigDelegate::QxtConfigDelegate(QObject* parent) + : QItemDelegate(parent), hover(true) +{} + +void QxtConfigDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const +{ + QStyleOptionViewItem opt = option; + if (hover) + { + QPalette::ColorGroup cg = (option.state & QStyle::State_Enabled) ? QPalette::Normal : QPalette::Disabled; + if (cg == QPalette::Normal && !(option.state & QStyle::State_Active)) + cg = QPalette::Inactive; + + if (option.state & QStyle::State_Selected) + { + painter->fillRect(option.rect, option.palette.brush(cg, QPalette::Highlight)); + } + else if ((option.state & QStyle::State_MouseOver) && (option.state & QStyle::State_Enabled)) + { + QColor color = option.palette.color(cg, QPalette::Highlight).light(); + if (color == option.palette.color(cg, QPalette::Base)) + color = option.palette.color(cg, QPalette::AlternateBase); + painter->fillRect(option.rect, color); + } + + opt.showDecorationSelected = false; + opt.state &= ~QStyle::State_HasFocus; + } + QItemDelegate::paint(painter, opt, index); +} + +void QxtConfigDialogPrivate::init(QxtConfigDialog::IconPosition position) +{ + QxtConfigDialog* p = &qxt_p(); + grid = new QGridLayout(p); + list = new QxtConfigListWidget(p); + stack = new QStackedWidget(p); + pos = position; + QObject::connect(list, SIGNAL(currentRowChanged(int)), stack, SLOT(setCurrentIndex(int))); + QObject::connect(stack, SIGNAL(currentChanged(int)), p, SIGNAL(currentIndexChanged(int))); + +#if QT_VERSION >= 0x040200 + buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, p); + QObject::connect(buttons, SIGNAL(accepted()), p, SLOT(accept())); + QObject::connect(buttons, SIGNAL(rejected()), p, SLOT(reject())); +#else // QT_VERSION >= 0x040200 + buttons = new QWidget(p); + QHBoxLayout* layout = new QHBoxLayout(buttons); + QPushButton* okButton = new QPushButton(QxtConfigDialog::tr("&OK")); + QPushButton* cancelButton = new QPushButton(QxtConfigDialog::tr("&Cancel")); + QObject::connect(okButton, SIGNAL(clicked()), p, SLOT(accept())); + QObject::connect(cancelButton, SIGNAL(clicked()), p, SLOT(reject())); + layout->addStretch(); + layout->addWidget(okButton); + layout->addWidget(cancelButton); +#endif + + initList(); + relayout(); +} + +void QxtConfigDialogPrivate::initList() +{ + // no scroll bars + list->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + list->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + // prevent editing + list->setEditTriggers(QAbstractItemView::NoEditTriggers); + // convenient navigation + list->setTabKeyNavigation(true); + // no dnd + list->setAcceptDrops(false); + list->setDragEnabled(false); + // list fine tuning + list->setMovement(QListView::Static); + list->setWrapping(false); + list->setResizeMode(QListView::Fixed); + list->setViewMode(QListView::IconMode); + // list->setWordWrap(false); 4.2 + // list->setSortingEnabled(false); 4.2 +} + +void QxtConfigDialogPrivate::relayout() +{ + // freeze + grid->setEnabled(false); + + // clear + while (grid->takeAt(0)); + + // relayout + switch (pos) + { + case QxtConfigDialog::North: + // +-----------+ + // | Icons | + // +-----------| + // | Stack | + // +-----------| + // | Buttons | + // +-----------+ + grid->addWidget(list, 0, 0); + grid->addWidget(stack, 1, 0); + grid->addWidget(buttons, 3, 0); + break; + + case QxtConfigDialog::West: + // +---+-------+ + // | I | | + // | c | | + // | o | Stack | + // | n | | + // | s | | + // +---+-------+ + // | Buttons | + // +-----------+ + grid->addWidget(list, 0, 0); + grid->addWidget(stack, 0, 1); + grid->addWidget(buttons, 2, 0, 1, 2); + break; + + case QxtConfigDialog::East: + // +-------+---+ + // | | I | + // | | c | + // | Stack | o | + // | | n | + // | | s | + // +-------+---+ + // | Buttons | + // +-----------+ + grid->addWidget(stack, 0, 0); + grid->addWidget(list, 0, 1); + grid->addWidget(buttons, 2, 0, 1, 2); + break; + + default: + qWarning("QxtConfigDialogPrivate::relayout(): unknown position"); + break; + } + + if (pos == QxtConfigDialog::North) + { + list->setFlow(QListView::LeftToRight); + list->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + } + else + { + list->setFlow(QListView::TopToBottom); + list->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); + } + list->invalidate(); + + // defrost + grid->setEnabled(true); +} + +/*! + \class QxtConfigDialog QxtConfigDialog + \ingroup QxtGui + \brief A configuration dialog. + + QxtConfigDialog provides a convenient interface for building + common configuration dialogs. QxtConfigDialog consists of a + list of icons and a stack of pages. + + Example usage: + \code + QxtConfigDialog dialog; + dialog.addPage(new ConfigurationPage(&dialog), QIcon(":/images/config.png"), tr("Configuration")); + dialog.addPage(new UpdatePage(&dialog), QIcon(":/images/update.png"), tr("Update")); + dialog.addPage(new QueryPage(&dialog), QIcon(":/images/query.png"), tr("Query")); + dialog.exec(); + \endcode + + \image html qxtconfigdialog.png "QxtConfigDialog with page icons on the left (QxtConfigDialog::West)." + */ + +/*! + \enum IconPosition::IconPosition + + This enum describes the page icon position. + + \sa QxtCheckComboBox::iconPosition + */ + +/*! + \var QxtConfigDialog::IconPosition QxtConfigDialog::North + + The icons are located above the pages. + */ + +/*! + \var QxtConfigDialog::IconPosition QxtConfigDialog::West + + The icons are located to the left of the pages. + */ + +/*! + \var QxtConfigDialog::IconPosition QxtConfigDialog::East + + The icons are located to the right of the pages. + */ + +/*! + \fn QxtConfigDialog::currentIndexChanged(int index) + + This signal is emitted whenever the current page \a index changes. + + \sa currentIndex() + */ + +/*! + Constructs a new QxtConfigDialog with \a parent and \a flags. + */ +QxtConfigDialog::QxtConfigDialog(QWidget* parent, Qt::WindowFlags flags) + : QDialog(parent, flags) +{ + QXT_INIT_PRIVATE(QxtConfigDialog); + qxt_d().init(); +} + +/*! + Constructs a new QxtConfigDialog with icon \a position, \a parent and \a flags. + */ +QxtConfigDialog::QxtConfigDialog(QxtConfigDialog::IconPosition position, QWidget* parent, Qt::WindowFlags flags) + : QDialog(parent, flags) +{ + QXT_INIT_PRIVATE(QxtConfigDialog); + qxt_d().init(position); +} + +/*! + Destructs the config dialog. + */ +QxtConfigDialog::~QxtConfigDialog() +{} + +/*! + \return The dialog button box. + + The default buttons are \b QDialogButtonBox::Ok and \b QDialogButtonBox::Cancel. + + \note QDialogButtonBox is available in Qt 4.2 or newer. + + \sa setDialogButtonBox() +*/ +#if QT_VERSION >= 0x040200 +QDialogButtonBox* QxtConfigDialog::dialogButtonBox() const +{ + return qxt_d().buttons; +} +#endif // QT_VERSION + +/*! + Sets the dialog \a buttonBox. + + \sa dialogButtonBox() +*/ +#if QT_VERSION >= 0x040200 +void QxtConfigDialog::setDialogButtonBox(QDialogButtonBox* buttonBox) +{ + if (qxt_d().buttons != buttonBox) + { + if (qxt_d().buttons && qxt_d().buttons->parent() == this) + { + delete qxt_d().buttons; + } + qxt_d().buttons = buttonBox; + qxt_d().relayout(); + } +} +#endif // QT_VERSION + +/*! + \property QxtConfigDialog::hoverEffect + \brief This property holds whether a hover effect is shown for page icons + + The default value is \b true. + + \note Hovered (but not selected) icons are highlighted with lightened \b QPalette::Highlight + (whereas selected icons are highlighted with \b QPalette::Highlight). In case lightened + \b QPalette::Highlight ends up same as \b QPalette::Base, \b QPalette::AlternateBase is used + as a fallback color for the hover effect. This usually happens when \b QPalette::Highlight + already is a light color (eg. light gray). + */ +bool QxtConfigDialog::hasHoverEffect() const +{ + return qxt_d().list->hasHoverEffect(); +} + +void QxtConfigDialog::setHoverEffect(bool enabled) +{ + qxt_d().list->setHoverEffect(enabled); +} + +/*! + \property QxtConfigDialog::iconPosition + \brief This property holds the position of page icons + */ +QxtConfigDialog::IconPosition QxtConfigDialog::iconPosition() const +{ + return qxt_d().pos; +} + +void QxtConfigDialog::setIconPosition(QxtConfigDialog::IconPosition position) +{ + if (qxt_d().pos != position) + { + qxt_d().pos = position; + qxt_d().relayout(); + } +} + +/*! + \property QxtConfigDialog::iconSize + \brief This property holds the size of page icons + */ +QSize QxtConfigDialog::iconSize() const +{ + return qxt_d().list->iconSize(); +} + +void QxtConfigDialog::setIconSize(const QSize& size) +{ + qxt_d().list->setIconSize(size); +} + +/*! + Adds a \a page with \a icon and \a title. + + In case \a title is an empty string, \b QWidget::windowTitle is used. + + \return The index of added page. + + \warning Adding and removing pages dynamically at run time might cause flicker. + + \sa insertPage() +*/ +int QxtConfigDialog::addPage(QWidget* page, const QIcon& icon, const QString& title) +{ + return insertPage(-1, page, icon, title); +} + +/*! + Inserts a \a page with \a icon and \a title. + + In case \a title is an empty string, \b QWidget::windowTitle is used. + + \return The index of inserted page. + + \warning Inserting and removing pages dynamically at run time might cause flicker. + + \sa addPage() +*/ +int QxtConfigDialog::insertPage(int index, QWidget* page, const QIcon& icon, const QString& title) +{ + if (!page) + { + qWarning("QxtConfigDialog::insertPage(): Attempt to insert null page"); + return -1; + } + + index = qxt_d().stack->insertWidget(index, page); + const QString label = !title.isEmpty() ? title : page->windowTitle(); + if (label.isEmpty()) + qWarning("QxtConfigDialog::insertPage(): Inserting a page with an empty title"); + QListWidgetItem* item = new QListWidgetItem(icon, label); + qxt_d().list->insertItem(index, item); + qxt_d().list->invalidate(); + return index; +} + +/*! + Removes the page at \a index. + + \note Does not delete the page widget. +*/ +void QxtConfigDialog::removePage(int index) +{ + if (QWidget* page = qxt_d().stack->widget(index)) + { + qxt_d().stack->removeWidget(page); + delete qxt_d().list->takeItem(index); + qxt_d().list->invalidate(); + } + else + { + qWarning("QxtConfigDialog::removePage(): Unknown index"); + } +} + +/*! + \property QxtConfigDialog::count + \brief This property holds the number of pages +*/ +int QxtConfigDialog::count() const +{ + return qxt_d().stack->count(); +} + +/*! + \property QxtConfigDialog::currentIndex + \brief This property holds the index of current page +*/ +int QxtConfigDialog::currentIndex() const +{ + return qxt_d().stack->currentIndex(); +} + +void QxtConfigDialog::setCurrentIndex(int index) +{ + qxt_d().list->setCurrentRow(index); + qxt_d().stack->setCurrentIndex(index); +} + +/*! + \return The current page. + + \sa currentIndex(), setCurrentPage() +*/ +QWidget* QxtConfigDialog::currentPage() const +{ + return qxt_d().stack->currentWidget(); +} + +/*! + Sets the current \a page. + + \sa currentPage(), currentIndex() +*/ +void QxtConfigDialog::setCurrentPage(QWidget* page) +{ + setCurrentIndex(qxt_d().stack->indexOf(page)); +} + +/*! + \return The index of \a page or \b -1 if the page is unknown. +*/ +int QxtConfigDialog::indexOf(QWidget* page) const +{ + return qxt_d().stack->indexOf(page); +} + +/*! + \return The page at \a index or \b 0 if the \a index is out of range. +*/ +QWidget* QxtConfigDialog::page(int index) const +{ + return qxt_d().stack->widget(index); +} + +/*! + \return \b true if the page at \a index is enabled; otherwise \b false. + + \sa setPageEnabled(), QWidget::isEnabled() +*/ +bool QxtConfigDialog::isPageEnabled(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); + return (item && (item->flags() & Qt::ItemIsEnabled)); +} + +/*! + Sets the page at \a index \a enabled. The corresponding + page icon is also \a enabled. + + \sa isPageEnabled(), QWidget::setEnabled() +*/ +void QxtConfigDialog::setPageEnabled(int index, bool enabled) +{ + QWidget* page = qxt_d().stack->widget(index); + QListWidgetItem* item = qxt_d().list->item(index); + if (page && item) + { + page->setEnabled(enabled); + if (enabled) + item->setFlags(item->flags() | Qt::ItemIsEnabled); + else + item->setFlags(item->flags() & ~Qt::ItemIsEnabled); + } + else + { + qWarning("QxtConfigDialog::setPageEnabled(): Unknown index"); + } +} + +/*! + \return \b true if the page at \a index is hidden; otherwise \b false. + + \sa setPageHidden(), QWidget::isVisible() +*/ +bool QxtConfigDialog::isPageHidden(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); +#if QT_VERSION >= 0x040200 + return (item && item->isHidden()); +#else // QT_VERSION + return (item && qxt_d().list->isItemHidden(item)); +#endif // QT_VERSION +} + +/*! + Sets the page at \a index \a hidden. The corresponding + page icon is also \a hidden. + + \sa isPageHidden(), QWidget::setVisible() +*/ +void QxtConfigDialog::setPageHidden(int index, bool hidden) +{ + QListWidgetItem* item = qxt_d().list->item(index); + if (item) + { +#if QT_VERSION >= 0x040200 + item->setHidden(hidden); +#else + qxt_d().list->setItemHidden(item, hidden); +#endif // QT_VERSION + } + else + { + qWarning("QxtConfigDialog::setPageHidden(): Unknown index"); + } +} + +/*! + \return The icon of page at \a index. + + \sa setPageIcon() +*/ +QIcon QxtConfigDialog::pageIcon(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); + return (item ? item->icon() : QIcon()); +} + +/*! + Sets the \a icon of page at \a index. + + \sa pageIcon() +*/ +void QxtConfigDialog::setPageIcon(int index, const QIcon& icon) +{ + QListWidgetItem* item = qxt_d().list->item(index); + if (item) + { + item->setIcon(icon); + } + else + { + qWarning("QxtConfigDialog::setPageIcon(): Unknown index"); + } +} + +/*! + \return The title of page at \a index. + + \sa setPageTitle() +*/ +QString QxtConfigDialog::pageTitle(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); + return (item ? item->text() : QString()); +} + +/*! + Sets the \a title of page at \a index. + + \sa pageTitle() +*/ +void QxtConfigDialog::setPageTitle(int index, const QString& title) +{ + QListWidgetItem* item = qxt_d().list->item(index); + if (item) + { + item->setText(title); + } + else + { + qWarning("QxtConfigDialog::setPageTitle(): Unknown index"); + } +} + +/*! + \return The tooltip of page at \a index. + + \sa setPageToolTip() +*/ +QString QxtConfigDialog::pageToolTip(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); + return (item ? item->toolTip() : QString()); +} + +/*! + Sets the \a tooltip of page at \a index. + + \sa pageToolTip() +*/ +void QxtConfigDialog::setPageToolTip(int index, const QString& tooltip) +{ + QListWidgetItem* item = qxt_d().list->item(index); + if (item) + { + item->setToolTip(tooltip); + } + else + { + qWarning("QxtConfigDialog::setPageToolTip(): Unknown index"); + } +} + +/*! + \return The what's this of page at \a index. + + \sa setPageWhatsThis() +*/ +QString QxtConfigDialog::pageWhatsThis(int index) const +{ + const QListWidgetItem* item = qxt_d().list->item(index); + return (item ? item->whatsThis() : QString()); +} + +/*! + Sets the \a whatsthis of page at \a index. + + \sa pageWhatsThis() +*/ +void QxtConfigDialog::setPageWhatsThis(int index, const QString& whatsthis) +{ + QListWidgetItem* item = qxt_d().list->item(index); + if (item) + { + item->setWhatsThis(whatsthis); + } + else + { + qWarning("QxtConfigDialog::setPageWhatsThis(): Unknown index"); + } +} + +/*! + \return The internal list widget used for showing page icons. + + \sa stackedWidget() +*/ +QListWidget* QxtConfigDialog::listWidget() const +{ + return qxt_d().list; +} + +/*! + \return The internal stacked widget used for stacking pages. + + \sa listWidget() +*/ +QStackedWidget* QxtConfigDialog::stackedWidget() const +{ + return qxt_d().stack; +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.h new file mode 100644 index 00000000..cce95580 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCONFIGDIALOG_H +#define QXTCONFIGDIALOG_H + +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QListWidget; +class QStackedWidget; +class QDialogButtonBox; +class QxtConfigDialogPrivate; + +class QXT_GUI_EXPORT QxtConfigDialog : public QDialog +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtConfigDialog); + Q_PROPERTY(int count READ count) + Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex) + Q_PROPERTY(bool hoverEffect READ hasHoverEffect WRITE setHoverEffect) + Q_PROPERTY(QxtConfigDialog::IconPosition iconPosition READ iconPosition WRITE setIconPosition) + Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) + Q_ENUMS(IconPosition) + +public: + enum IconPosition { North, West, East }; + + explicit QxtConfigDialog(QWidget* parent = 0, Qt::WindowFlags flags = 0); + explicit QxtConfigDialog(QxtConfigDialog::IconPosition position, QWidget* parent = 0, Qt::WindowFlags flags = 0); + virtual ~QxtConfigDialog(); + + QDialogButtonBox* dialogButtonBox() const; + void setDialogButtonBox(QDialogButtonBox* buttonBox); + + bool hasHoverEffect() const; + void setHoverEffect(bool enabled); + + QxtConfigDialog::IconPosition iconPosition() const; + void setIconPosition(QxtConfigDialog::IconPosition position); + + QSize iconSize() const; + void setIconSize(const QSize& size); + + int addPage(QWidget* page, const QIcon& icon, const QString& title = QString()); + int insertPage(int index, QWidget* page, const QIcon& icon, const QString& title = QString()); + void removePage(int index); + + int count() const; + int currentIndex() const; + QWidget* currentPage() const; + int indexOf(QWidget* page) const; + QWidget* page(int index) const; + + bool isPageEnabled(int index) const; + void setPageEnabled(int index, bool enabled); + + bool isPageHidden(int index) const; + void setPageHidden(int index, bool hidden); + + QIcon pageIcon(int index) const; + void setPageIcon(int index, const QIcon& icon); + + QString pageTitle(int index) const; + void setPageTitle(int index, const QString& title); + + QString pageToolTip(int index) const; + void setPageToolTip(int index, const QString& tooltip); + + QString pageWhatsThis(int index) const; + void setPageWhatsThis(int index, const QString& whatsthis); + +public slots: + void setCurrentIndex(int index); + void setCurrentPage(QWidget* page); + +signals: + void currentIndexChanged(int index); + +protected: + QListWidget* listWidget() const; + QStackedWidget* stackedWidget() const; +}; + +#endif // QXTCONFIGDIALOG_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog_p.h new file mode 100644 index 00000000..31c660ea --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfigdialog_p.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCONFIGDIALOG_P_H +#define QXTCONFIGDIALOG_P_H + +#include "qxtpimpl.h" +#include "qxtconfigdialog.h" +#include +#include + +class QGridLayout; +class QStackedWidget; +class QDialogButtonBox; + +class QxtConfigListWidget : public QListWidget +{ +public: + QxtConfigListWidget(QWidget* parent = 0); + QSize minimumSizeHint() const; + QSize sizeHint() const; + void invalidate(); + + bool hasHoverEffect() const; + void setHoverEffect(bool enabled); + +protected: + void scrollContentsBy(int dx, int dy); + +private: + mutable QSize hint; +}; + +class QxtConfigDelegate : public QItemDelegate +{ +public: + QxtConfigDelegate(QObject* parent = 0); + void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const; + bool hover; +}; + +class QxtConfigDialogPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT + +public: + QXT_DECLARE_PUBLIC(QxtConfigDialog); + + void init(QxtConfigDialog::IconPosition position = QxtConfigDialog::West); + void initList(); + void relayout(); + + QGridLayout* grid; + QStackedWidget* stack; + QxtConfigListWidget* list; +#if QT_VERSION >= 0x040200 + QDialogButtonBox* buttons; +#else // QT_VERSION >= 0x040200 + QWidget* buttons; +#endif // QT_VERSION + QxtConfigDialog::IconPosition pos; +}; + +#endif // QXTCONFIGDIALOG_P_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.cpp new file mode 100644 index 00000000..e02b856f --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.cpp @@ -0,0 +1,336 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtconfirmationmessage.h" + +#include +#if QT_VERSION >= 0x040200 +#include +#endif // QT_VERSION +#include +#include +#include + +static const QLatin1String DEFAULT_ORGANIZATION("QxtGui"); +static const QLatin1String DEFAULT_APPLICATION("QxtConfirmationMessage"); + +class QxtConfirmationMessagePrivate : public QxtPrivate +{ +public: + QXT_DECLARE_PUBLIC(QxtConfirmationMessage); + void init(const QString& message = QString()); + QString key() const; + static QString key(const QString& title, const QString& text, const QString& informativeText = QString()); + int showAgain(); + void doNotShowAgain(int result); + static void reset(const QString& title, const QString& text, const QString& informativeText); + + QCheckBox* confirm; + static QString path; + static QSettings::Scope scope; +}; + +QString QxtConfirmationMessagePrivate::path; +QSettings::Scope QxtConfirmationMessagePrivate::scope = QSettings::UserScope; + +void QxtConfirmationMessagePrivate::init(const QString& message) +{ +#if QT_VERSION >= 0x040200 + confirm = new QCheckBox(&qxt_p()); + if (!message.isNull()) + confirm->setText(message); + else + confirm->setText(QxtConfirmationMessage::tr("Do not show again.")); + + QGridLayout* grid = qobject_cast(qxt_p().layout()); + QDialogButtonBox* buttons = qFindChild(&qxt_p()); + if (grid && buttons) + { + const int idx = grid->indexOf(buttons); + int row, column, rowSpan, columnSpan = 0; + grid->getItemPosition(idx, &row, &column, &rowSpan, &columnSpan); + QLayoutItem* buttonsItem = grid->takeAt(idx); + grid->addWidget(confirm, row, column, rowSpan, columnSpan, Qt::AlignLeft | Qt::AlignTop); + grid->addItem(buttonsItem, ++row, column, rowSpan, columnSpan); + } +#endif // QT_VERSION +} + +QString QxtConfirmationMessagePrivate::key() const +{ +#if QT_VERSION >= 0x040200 + return key(qxt_p().windowTitle(), qxt_p().text(), qxt_p().informativeText()); +#else + return key(qxt_p().windowTitle(), qxt_p().text()); +#endif // QT_VERSION +} + +QString QxtConfirmationMessagePrivate::key(const QString& title, const QString& text, const QString& informativeText) +{ + const QString all = title + text + informativeText; + const QByteArray data = all.toLocal8Bit(); + return QString::number(qChecksum(data.constData(), data.length())); +} + +int QxtConfirmationMessagePrivate::showAgain() +{ + QString organization = QCoreApplication::organizationName(); + QString application = QCoreApplication::applicationName(); + if (organization.isEmpty()) + organization = DEFAULT_ORGANIZATION; + if (application.isEmpty()) + application = DEFAULT_APPLICATION; + QSettings settings(scope, organization, application); + if (!path.isEmpty()) + settings.beginGroup(path); + return settings.value(key(), -1).toInt(); +} + +void QxtConfirmationMessagePrivate::doNotShowAgain(int result) +{ + QString organization = QCoreApplication::organizationName(); + QString application = QCoreApplication::applicationName(); + if (organization.isEmpty()) + organization = DEFAULT_ORGANIZATION; + if (application.isEmpty()) + application = DEFAULT_APPLICATION; + QSettings settings(scope, organization, application); + if (!path.isEmpty()) + settings.beginGroup(path); + settings.setValue(key(), result); +} + +void QxtConfirmationMessagePrivate::reset(const QString& title, const QString& text, const QString& informativeText) +{ + QString organization = QCoreApplication::organizationName(); + QString application = QCoreApplication::applicationName(); + if (organization.isEmpty()) + organization = DEFAULT_ORGANIZATION; + if (application.isEmpty()) + application = DEFAULT_APPLICATION; + QSettings settings(scope, organization, application); + if (!path.isEmpty()) + settings.beginGroup(path); + settings.remove(key(title, text, informativeText)); +} + +/*! + \class QxtConfirmationMessage QxtConfirmationMessage + \ingroup QxtGui + \brief A confirmation message. + + QxtConfirmationMessage is a confirmation message with checkable + "Do not show again." option. A checked and accepted confirmation + message is no more shown until reseted. + + Example usage: + \code + void MainWindow::closeEvent(QCloseEvent* event) + { + static const QString text(tr("Are you sure you want to quit?")); + if (QxtConfirmationMessage::confirm(this, tr("Confirm"), text) == QMessageBox::No) + event->ignore(); + } + \endcode + + \image html qxtconfirmationmessage.png "QxtConfirmationMessage in action." + + \note \b QCoreApplication::organizationName and \b QCoreApplication::applicationName + are used for storing settings. In case these properties are empty, \b "QxtGui" and + \b "QxtConfirmationMessage" are used, respectively. + + \note Requires Qt 4.2 or newer. + */ + +/*! + Constructs a new QxtConfirmationMessage with \a parent. + */ +QxtConfirmationMessage::QxtConfirmationMessage(QWidget* parent) + : QMessageBox(parent) +{ + QXT_INIT_PRIVATE(QxtConfirmationMessage); + qxt_d().init(); +} + +/*! + Constructs a new QxtConfirmationMessage with \a icon, \a title, \a text, \a confirmation, \a buttons, \a parent and \a flags. + */ +#if QT_VERSION >= 0x040200 +QxtConfirmationMessage::QxtConfirmationMessage(QMessageBox::Icon icon, const QString& title, const QString& text, const QString& confirmation, + QMessageBox::StandardButtons buttons, QWidget* parent, Qt::WindowFlags flags) + : QMessageBox(icon, title, text, buttons, parent, flags) +{ + QXT_INIT_PRIVATE(QxtConfirmationMessage); + qxt_d().init(confirmation); +} +#endif // QT_VERSION + +/*! + Destructs the confirmation message. + */ +QxtConfirmationMessage::~QxtConfirmationMessage() +{} + +// QMessageBox::StandardButton showNewMessageBox() (qmessagebox.cpp) +#if QT_VERSION >= 0x040200 +QMessageBox::StandardButton QxtConfirmationMessage::confirm(QWidget* parent, + const QString& title, const QString& text, const QString& confirmation, + QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) +{ + QxtConfirmationMessage msgBox(QMessageBox::NoIcon, title, text, confirmation, QMessageBox::NoButton, parent); + QDialogButtonBox* buttonBox = qFindChild(&msgBox); + Q_ASSERT(buttonBox != 0); + + uint mask = QMessageBox::FirstButton; + while (mask <= QMessageBox::LastButton) + { + uint sb = buttons & mask; + mask <<= 1; + if (!sb) + continue; + QPushButton* button = msgBox.addButton((QMessageBox::StandardButton)sb); + // Choose the first accept role as the default + if (msgBox.defaultButton()) + continue; + if ((defaultButton == QMessageBox::NoButton && buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) + || (defaultButton != QMessageBox::NoButton && sb == uint(defaultButton))) + msgBox.setDefaultButton(button); + } + if (msgBox.exec() == -1) + return QMessageBox::Cancel; + return msgBox.standardButton(msgBox.clickedButton()); +} +#endif // QT_VERSION + +/*! + \property QxtConfirmationMessage::confirmationText + \brief This property holds the confirmation text + + The default value is "Do not show again." + */ +QString QxtConfirmationMessage::confirmationText() const +{ + return qxt_d().confirm->text(); +} + +void QxtConfirmationMessage::setConfirmationText(const QString& confirmation) +{ + qxt_d().confirm->setText(confirmation); +} + +/*! + \return The scope used for storing settings. + + The default value is \b QSettings::UserScope. + */ +QSettings::Scope QxtConfirmationMessage::settingsScope() +{ + return QxtConfirmationMessagePrivate::scope; +} + +/*! + Sets the scope used for storing settings. + */ +void QxtConfirmationMessage::setSettingsScope(QSettings::Scope scope) +{ + QxtConfirmationMessagePrivate::scope = scope; +} + +/*! + \return The path used for storing settings. + + The default value is an empty string. + */ +QString QxtConfirmationMessage::settingsPath() +{ + return QxtConfirmationMessagePrivate::path; +} + +/*! + Sets the path used for storing settings. + */ +void QxtConfirmationMessage::setSettingsPath(const QString& path) +{ + QxtConfirmationMessagePrivate::path = path; +} + +/*! + Shows the confirmation message if necessary. The confirmation message is not + shown in case "Do not show again." has been checked while the same + confirmation message was earlierly accepted. + + A confirmation message is identified by the combination of title, + \b QMessageBox::text and optional \b QMessageBox::informativeText. + + A clicked button with role \b QDialogButtonBox::AcceptRole or + \b QDialogButtonBox::YesRole is considered as "accepted". + + \warning This function does not reimplement but shadows \b QMessageBox::exec(). + + \sa QWidget::windowTitle, QMessageBox::text, QMessageBox::informativeText + */ +int QxtConfirmationMessage::exec() +{ + int res = qxt_d().showAgain(); + if (res == -1) + res = QMessageBox::exec(); + return res; +} + +void QxtConfirmationMessage::done(int result) +{ +#if QT_VERSION >= 0x040200 + QDialogButtonBox* buttons = qFindChild(this); + Q_ASSERT(buttons != 0); + + int role = buttons->buttonRole(clickedButton()); + if (qxt_d().confirm->isChecked() && + (role == QDialogButtonBox::AcceptRole || role == QDialogButtonBox::YesRole)) + { + qxt_d().doNotShowAgain(result); + } +#endif // QT_VERSION + QMessageBox::done(result); +} + +/*! + Resets confirmation message with given \a title, \a text and optional + \a informativeText. A reseted confirmation message is shown again until + user checks "Do not show again." and accepts the confirmation message. + */ +void QxtConfirmationMessage::reset(const QString& title, const QString& text, const QString& informativeText) +{ + QxtConfirmationMessagePrivate::reset(title, text, informativeText); +} + +/*! + Resets this instance of QxtConfirmationMessage. A reseted confirmation + message is shown again until user checks "Do not show again." and + accepts the confirmation message. + */ +void QxtConfirmationMessage::reset() +{ +#if QT_VERSION >= 0x040200 + QxtConfirmationMessagePrivate::reset(windowTitle(), text(), informativeText()); +#endif // QT_VERSION +} diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.h new file mode 100644 index 00000000..e5d467d8 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtconfirmationmessage.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCONFIRMATIONMESSAGE_H +#define QXTCONFIRMATIONMESSAGE_H + +#include +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtConfirmationMessagePrivate; + +class QXT_GUI_EXPORT QxtConfirmationMessage : public QMessageBox +{ + Q_OBJECT + QXT_DECLARE_PRIVATE(QxtConfirmationMessage); + Q_PROPERTY(QString confirmationText READ confirmationText WRITE setConfirmationText); + +public: + explicit QxtConfirmationMessage(QWidget* parent = 0); + virtual ~QxtConfirmationMessage(); + +#if QT_VERSION >= 0x040200 + QxtConfirmationMessage(QMessageBox::Icon icon, + const QString& title, const QString& text, const QString& confirmation = QString(), + QMessageBox::StandardButtons buttons = QMessageBox::NoButton, QWidget* parent = 0, + Qt::WindowFlags flags = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); + + static QMessageBox::StandardButton confirm(QWidget* parent, + const QString& title, const QString& text, const QString& confirmation = QString(), + QMessageBox::StandardButtons buttons = QMessageBox::Yes | QMessageBox::No, + QMessageBox::StandardButton defaultButton = QMessageBox::NoButton); +#endif + + QString confirmationText() const; + void setConfirmationText(const QString& confirmation); + + static QSettings::Scope settingsScope(); + static void setSettingsScope(QSettings::Scope scope); + + static QString settingsPath(); + static void setSettingsPath(const QString& path); + + static void reset(const QString& title, const QString& text, const QString& informativeText = QString()); + +public slots: + int exec(); + void reset(); +#ifndef QXT_DOXYGEN_RUN + virtual void done(int result); +#endif // QXT_DOXYGEN_RUN +}; + +#endif // QXTCONFIRMATIONMESSAGE_H diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.cpp new file mode 100644 index 00000000..1fc618fa --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtdesktopwidget.cpp @@ -0,0 +1,180 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtdesktopwidget.h" +#include + +/*! + \class QxtDesktopWidget QxtDesktopWidget + \ingroup QxtGui + \brief QxtDesktopWidget provides means for accessing native windows. + + \note QxtDesktopWidget is portable in principle, but be careful while + using it since you are probably about to do something non-portable. + +